Liên hệProfile
Danh mục

Mục Lục

    Cách sử dụng lệnh lscpu trong Linux để kiểm tra chi tiết thông tin CPU

    Nguyễn Hưng

    Ngày đăng:

    03/04/2026

    Cập nhật lần cuối:

    03/04/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    5/5 - (1 bình chọn)

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    03/04/2026

    Cập nhật lần cuối:

    03/04/2026

    Mục lục

    Lệnh lscpu trong Linux dùng để hiển thị chi tiết thông tin về kiến trúc CPU trên hệ thống, như số CPU, số nhân, luồng, socket, NUMA node và thông tin bộ nhớ đệm. Trong bài viết này, mình sẽ hướng dẫn cách sử dụng lscpu để thu thập thông tin về số lượng nhân, luồng, bộ nhớ đệm,… của CPU chính xác và chi tiết nhất.

    Những điểm chính

    • Khái niệm: Biết được lscpu là gì và cách công cụ này tổng hợp dữ liệu từ hệ thống để hiển thị kiến trúc CPU một cách trực quan, dễ hiểu.
    • Ứng dụng: Nắm rõ các trường hợp cần sử dụng lscpu để hoạch định tài nguyên, kiểm tra khả năng ảo hóa và tối ưu hóa hiệu suất cho máy chủ.
    • Cách sử dụng: Thành thạo các cú pháp lệnh để tra cứu nhanh số nhân, số luồng, bộ nhớ đệm và các tập lệnh xử lý đặc biệt.
    • Khắc phục lỗi: Biết cách xử lý lỗi “command not found” và quy trình kích hoạt ảo hóa trong BIOS/UEFI để kernel nhận diện đúng thông số.
    • Câu hỏi thường gặp: Giải đáp các thắc phổ biến liên quan đến lệnh lscpu.

    lscpu là gì?

    lscpu (List CPU Information) là lệnh được sử dụng để truy xuất và hiển thị thông tin tổng quan về kiến trúc CPU đang vận hành hệ thống. Cơ chế hoạt động của lệnh này là thu thập dữ liệu thô từ hệ thống file ảo /sys/devices/system/cpu và file /proc/cpuinfo, sau đó tổng hợp và trình bày lại dưới định dạng dễ đọc cho dùng. Kết quả đầu ra của lscpu cung cấp các thông số kỹ thuật quan trọng giúp đánh giá năng lực xử lý của máy chủ, bao gồm:

    • Kiến trúc phần cứng: Xác định loại kiến trúc CPU.
    • Cấu trúc tô-pô: Chi tiết về số lượng socket, số nhân trên mỗi socket và số luồng trên mỗi nhân.
    • Tài nguyên bộ nhớ đệm: Dung lượng chi tiết của các cấp độ Cache (L1, L2, L3), đây là yếu tố ảnh hưởng trực tiếp đến hiệu năng xử lý.
    • Tính năng mở rộng: Các cờ hiệu (flags) cho biết khả năng hỗ trợ ảo hóa và các tập lệnh xử lý đặc biệt.
    lscpu được sử dụng để truy xuất và hiển thị thông tin tổng quan về kiến trúc CPU
    lscpu được sử dụng để truy xuất và hiển thị thông tin tổng quan về kiến trúc CPU

    Khi nào cần sử dụng lệnh lscpu?

    Dưới đây là các trường hợp phổ biến cần sử dụng lệnh lscpu:

    • Thay thế phân tích thủ công: Đây là giải pháp tối ưu nhất để tra cứu cấu hình CPU, giúp loại bỏ sự phức tạp và rủi ro nhầm lẫn khi phải đọc trực tiếp tập tin thô /proc/cpuinfo.
    • Hoạch định tài nguyên hệ thống: lscpu cung cấp thông tin chính xác về số lượng nhân và luồng thực tế, giúp bạn đánh giá xem máy chủ có đủ năng lực xử lý cho các tác vụ tải cao hay không.
    • Kiểm tra tương thích ảo hóa: Lệnh lscpu xác minh xem bộ vi xử lý có hỗ trợ các công nghệ ảo hóa phần cứng hay không. Đây là bước bắt buộc trước khi triển khai các nền tảng như KVM, VMware vSphere hay Proxmox.
    • Tối ưu hóa hiệu năng ứng dụng: Để hiển thị chi tiết về dung lượng bộ nhớ đệm và cấu trúc NUMA nodes, lscpu hỗ trợ việc tinh chỉnh ứng dụng để khai thác tối đa sức mạnh phần cứng.
    Các trường hợp cần sử dụng lệnh lscpu
    Các trường hợp cần sử dụng lệnh lscpu

    1. Xem thông tin CPU cơ bản

    Để  xem tổng quan cấu hình CPU và thị bản tóm tắt các thông số kỹ thuật quan trọng nhất của CPU, bạn sử dụng lệnh sau:

    lscpu
    Xem thông tin CPU cơ bản
    Xem thông tin CPU cơ bản

    Giải thích các thông số:

    • Architecture: Kiến trúc của CPU.
    • CPU(s): Tổng số CPU hiện có sẵn cho hệ điều hành sử dụng.
    • Core(s) per socket: Số nhân vật lý trên mỗi chip CPU.
    • Thread(s) per core: Số luồng trên mỗi nhân.
    • Model name: Tên thương mại đầy đủ của dòng CPU.
    • Vendor ID: Mã định danh nhà sản xuất.

    2. Chỉ hiển thị các thông số cụ thể

    Để chỉ trích xuất thông tin của một trường dữ liệu cụ thể mà bạn quan tâm để phục vụ báo cáo hoặc xử lý dữ liệu, bạn hãy sử dụng lệnh dưới đây:

    lscpu --extended=CPU,CORE,SOCKET,NODE
    Chỉ hiển thị các thông số cụ thể
    Chỉ hiển thị các thông số cụ thể

    Tùy chọn --extended cho phép bạn lựa chọn và sắp xếp các cột hiển thị, rất hữu ích khi bạn cần thông tin ở định dạng có cấu trúc để viết script.

    3. Kiểm tra thông tin bộ nhớ đệm chi tiết

    Để lọc riêng thông tin về chi tiết kích thước và phân cấp của các lớp bộ nhớ đệm, bạn kết hợp lệnh lscpu với grep như sau:

    lscpu | grep "Cache"
    Kiểm tra thông tin bộ nhớ đệm chi tiết
    Kiểm tra thông tin bộ nhớ đệm chi tiết

    Các thông tin về cache như L1d cache, L2 cache, L3 cache,… sẽ giúp bạn đánh giá hiệu suất truy xuất dữ liệu của CPU, điều này cần thiết đối với các ứng dụng đòi hỏi tốc độ xử lý cao.

    4. Kiểm tra khả năng hỗ trợ ảo hóa và các cờ lệnh (Flags)

    Để kiểm tra thông tin ảo hóa và các cờ lệnh, bạn chạy lần lượt các lệnh sau:

    lscpu | grep "Virtualization"
    lscpu | grep "Flags"
    Kiểm tra khả năng hỗ trợ ảo hóa và các cờ lệnh
    Kiểm tra khả năng hỗ trợ ảo hóa và các cờ lệnh

    Giải thích:

    • Dòng Virtualization sẽ cho biết hệ thống hỗ trợ loại công nghệ ảo hóa nào, ví dụ như VT-x cho Intel hoặc AMD-V cho AMD.
    • Dòng Flags liệt kê tất cả các tập lệnh được hỗ trợ. Sự xuất hiện của các cờ quan trọng như vmx (Intel) hoặc svm (AMD) là dấu hiệu xác nhận khả năng chạy máy ảo của CPU.

    Cách khắc phục lỗi phổ biến khi thực thi lscpu

    1. Lỗi: “lscpu: command not found”

    Nguyên nhân của lỗi “lscpu: command not found” là hệ thống chưa có chương trình lscpu, cụ thể là gói tiện ích util-linux chưa được cài đặt. Để xử lý, bạn cần cài đặt gói util-linux thông qua trình quản lý gói của hệ thống:

    • Đối với Ubuntu/Debian/Kali Linux:
    sudo apt update && sudo apt install util-linux
    • Đối với CentOS/RHEL/AlmaLinux:
    sudo yum install util-linux
    • Đối với Alpine Linux:
    apk add util-linux

    2. Mục Virtualization không hiển thị hoặc báo sai trạng thái

    Nếu CPU có hỗ trợ ảo hóa nhưng khi chạy lscpu thì dòng Virtualization không hiển thị hoặc hiển thị sai thì nguyên nhân có thể do tính năng ảo hóa đang bị tắt ở BIOS/UEFI, nên kernel Linux không nhận ra và không thể sử dụng tập lệnh ảo hóa dù CPU thực sự hỗ trợ.

    Quy trình khắc phục:

    1. Truy cập BIOS/UEFI: Bạn khởi động lại máy chủ và nhấn phím chức năng (thường là F2, F10, Del hoặc Esc) để vào trình cài đặt BIOS.
    2. Tìm thiết lập CPU: Bạn điều hướng đến các mục như Processor, Chipset hoặc Advanced CPU Configuration.
    3. Kích hoạt tính năng: Tiếp theo bạn tìm dòng chữ Intel Virtualization Technology (VT-x) hoặc SVM Mode (đối với AMD) và chuyển trạng thái sang Enabled.
    4. Lưu và khởi động lại: Sau đó bạn nhấn F10 để lưu cấu hình và boot vào lại Linux.
    5. Kiểm tra lại: Cuối cùng, bạn chạy lscpu và tìm dòng Virtualization: VT-x (hoặc AMD-V) để xác nhận thành công.
    Khắc phục Virtualization không hiển thị hoặc báo sai trạng thái
    Mục Virtualization không hiển thị hoặc báo sai trạng thái

    Theo kinh nghiệm cá nhân của mình, lỗi “command not found” gần như rất hiếm gặp trên các bản phân phối phổ biến như Ubuntu hay CentOS vì util-linux thường được cài sẵn từ đầu. Trường hợp mình thực sự gặp lỗi này chủ yếu là khi làm việc với các container Docker dùng image tối giản (minimal) hoặc trên Alpine Linux, những môi trường cắt bớt gói mặc định để giảm dung lượng. 

    Còn với lỗi thiếu thông tin Virtualization, mình từng mất khá nhiều thời gian debug trên một máy chủ Dell PowerEdge trước khi nhận ra nguyên nhân đơn giản chỉ là VT-x bị tắt trong BIOS. Vì vậy, lời khuyên của mình là: mỗi khi triển khai máy chủ mới cho mục đích ảo hóa, hãy luôn kiểm tra BIOS trước tiên thay vì đi tìm lỗi ở phía phần mềm, điều này sẽ giúp bạn tiết kiệm rất nhiều thời gian.

    Câu hỏi thường gặp

    Sự khác biệt giữa Socket, Core và Thread trong kết quả lscpu là gì?

    Các thông số này đại diện cho cấu trúc vật lý và luận lý của bộ vi xử lý:
    Socket: Số lượng chip CPU vật lý được cắm trên bo mạch chủ.
    Core: Số lượng nhân vật lý thực tế nằm bên trong mỗi chip CPU.
    – Thread: Số lượng luồng xử lý trên mỗi nhân.

    Làm thế nào để biết lệnh lscpu đã trả về kết quả chính xác?

    Sau khi thực thi lệnh lscpu, bạn hãy kiểm tra dòng Model name để xác nhận tên CPU đã được hệ thống hiển thị chính xác. Ngoài ra, bạn cần đảm bảo rằng chỉ số CPU(s) (tổng số luồng) khớp với kết quả của phép tính nhân giữa: Socket(s) x Core(s) per socket x Thread(s) per core.

    Tại sao chỉ số BogoMIPS trong kết quả lscpu lại quan trọng?

    Chỉ số BogoMIPS là một phép đo tốc độ CPU sơ bộ được nhân Linux thực hiện lúc khởi động. Mặc dù BogoMIPS không phản ánh chính xác hiệu suất xử lý thực tế của các ứng dụng, nhưng thông số này giúp hệ thống ước tính các khoảng thời gian chờ trong quá trình vận hành.

    Bằng cách sử dụng lệnh lscpu, bạn đã có thể dễ dàng thu thập và phân tích các thông số kỹ thuật cốt lõi của CPU trên hệ thống Linux. Việc nắm vững cấu hình về số nhân, số luồng và các tính năng hỗ trợ ảo hóa là bước đầu tiên và quan trọng nhất để đưa ra các quyết định tối ưu hóa hiệu suất cũng như quản lý tài nguyên máy chủ hiệu quả.

    5/5 - (1 bình chọn)
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Cách sử dụng lệnh sysctl trong Linux để quản lý thông số Kernel
    Cách sử dụng lệnh sysctl trong Linux để quản lý thông số Kernel

    sysctl là một công cụ dòng lệnh cho phép quản trị viên xem và thay đổi các tham số Kernel của Linux ngay trong lúc hệ thống đang chạy, thông qua cây hệ thống file ảo /proc/sys. Khi sử dụng sysctl, bạn có thể giám sát, tinh chỉnh và tối ưu hiệu năng hệ thống…

    03/04/2026

    Hướng dẫn sử dụng lệnh at Linux để thiết lập lịch tác vụ một lần chuyên nghiệp
    Hướng dẫn sử dụng lệnh at Linux để thiết lập lịch tác vụ một lần chuyên nghiệp

    Lệnh at Linux là một công cụ lập lịch tác vụ dùng để chạy một câu lệnh hoặc script một lần vào một thời điểm cụ thể trong tương lai và được thực thi bởi dịch vụ nền atd. Trong bài viết dưới đây, mình sẽ cùng bạn tìm hiểu về cách thiết lập lịch…

    03/04/2026

    Hướng dẫn sử dụng crontab trong Linux để lập lịch tự động hóa tác vụ
    Hướng dẫn sử dụng crontab trong Linux để lập lịch tự động hóa tác vụ

    Crontab là một công cụ trên Linux dùng để lập lịch cho các tác vụ tự động chạy định kỳ như hàng phút, giờ, ngày, tuần, tháng,… mà không cần bạn thao tác thủ công. Công cụ này có thể tự động hóa các việc lặp lại như backup dữ liệu, xóa log cũ, chạy…

    03/04/2026

    Cách sử dụng lệnh modprobe trong Linux để quản lý Kernel Modules
    Cách sử dụng lệnh modprobe trong Linux để quản lý Kernel Modules

    modprobe là lệnh được sử dụng để thêm hoặc bớt các module ra khỏi Kernel một cách an toàn và thông minh nhờ khả năng tự động xử lý các mối quan hệ phụ thuộc. Trong bài viết này, mình sẽ hướng dẫn bạn cách sử dụng lệnh modprobe từ cơ bản đến nâng cao…

    03/04/2026

    linux

    lenh

    text