Một trong những điều mà quản trị viên Linux yêu thích nhất là tìm hiểu sâu về các chi tiết nhỏ nhặt của thông tin hệ thống. Hôm nay, Quantrimang.com sẽ đưa bạn đi khám phá cách lấy và hiểu thông tin CPU trên hệ thống Linux. Bài viết sẽ sử dụng Ubuntu làm ví dụ, nhưng cũng sẽ cung cấp các lệnh liên quan đến những bản phân phối phổ biến khác.
Sử dụng file /proc/cpuinfo
File /proc/cpuinfo chứa thông tin chi tiết về CPU trên hệ thống của bạn. Đây là một file ảo, nghĩa là nó không tồn tại vật lý trên ổ đĩa nhưng được tạo động bởi kernel.
Cách đọc /proc/cpuinfo
Để xem nội dung của /proc/cpuinfo, chỉ cần sử dụng lệnh cat trong terminal:
cat /proc/cpuinfo
Sau đây là một đoạn trích mẫu đầu ra từ máy Ubuntu ví dụ:
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 158
model name : Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
stepping : 10
microcode : 0xca
cpu MHz : 800.000
cache size : 9216 KB
physical id : 0
siblings : 12
core id : 0
cpu cores : 6
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 22
wp : yes
...
Phân tích đầu ra
- processor: Số bộ xử lý. Nếu có CPU đa lõi, bạn sẽ thấy nhiều mục nhập (0, 1, 2, …).
- vendor_id: Nhà sản xuất CPU (ví dụ: GenuineIntel, AuthenticAMD).
- model name: Tên chính thức của CPU.
- cpu MHz: Tốc độ xung nhịp hiện tại của CPU tính bằng MHz.
- cache size: Kích thước của L2 cache tính bằng KB.
- cpu cores: Số lõi trên mỗi CPU vật lý.
- brothers: Số bộ xử lý logic trên mỗi CPU vật lý. Bao gồm cả lõi siêu phân luồng.
Sử dụng lệnh lscpu
Lệnh lscpu cung cấp bản tóm tắt dễ đọc về thông tin kiến trúc CPU.
Cách sử dụng lscpu
Chỉ cần nhập lscpu vào terminal:
lscpu
Sau đây là ví dụ về đầu ra:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
Address sizes: 39 bits physical, 48 bits virtual
CPU(s): 12
On-line CPU(s) list: 0-11
Thread(s) per core: 2
Core(s) per socket: 6
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 158
Model name: Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
Stepping: 10
CPU MHz: 900.000
CPU max MHz: 4100.0000
CPU min MHz: 800.0000
BogoMIPS: 4399.93
Virtualization: VT-x
L1d cache: 192 KiB
L1i cache: 192 KiB
L2 cache: 1.5 MiB
L3 cache: 9 MiB
NUMA node0 CPU(s): 0-11
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperf ...
Chi tiết chính trong đầu ra lscpu
- Architecture: Kiến trúc CPU (ví dụ: x86_64).
- CPU(s): Tổng số CPU (bộ xử lý logic).
- Thread(s) per core: Số luồng trên mỗi lõi (thường là 2 đối với lõi siêu phân luồng).
- Core(s) per socket: Số lõi trên mỗi socket.
- Socket: Số lượng socket CPU vật lý.
- CPU max MHz / min MHz: Tần số CPU tối đa và tối thiểu.
- L1d, L1i, L2, L3 cache: Kích thước cache cho các cấp độ khác nhau.
Sử dụng lệnh lshw
Lệnh lshw (list hardware) cung cấp thông tin chi tiết về tất cả các thành phần phần cứng, bao gồm cả CPU.
Cách sử dụng lshw để biết thông tin về CPU
Để có thông tin về CPU, bạn có thể lọc đầu ra lshw:
sudo lshw -class processor
Đây là một mẫu đầu ra:
*-cpu
description: CPU
product: Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
vendor: Intel Corp.
physical id: 3
bus info: cpu@0
version: Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
slot: U3E1
size: 2200MHz
capacity: 4100MHz
width: 64 bits
clock: 100MHz
capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperf...
configuration: cores=6 enabledcores=6 threads=12
Thông tin chi tiết chính trong đầu ra lshw
- description: Mô tả về CPU.
- product: Kiểu CPU.
- vendor: Nhà sản xuất.
- size: Tần số hoạt động hiện tại.
- capacity: Tần số tối đa.
- width: Độ rộng bit (ví dụ: 64 bit).
- configuration: Số lõi và luồng.
Các bước dành riêng cho từng bản phân phối
Mặc dù các lệnh trên hầu hết đều mang tính phổ biến, nhưng có thể có một số thay đổi nhỏ hoặc những công cụ bổ sung có sẵn trên các bản phân phối khác nhau.
Đối với các bản phân phối dựa trên Debian (như Ubuntu)
Các lệnh và công cụ được đề cập ở trên có thể áp dụng trực tiếp. Đảm bảo bạn đã cài đặt gói lshw:
sudo apt-get install lshw
Đối với các bản phân phối dựa trên Red Hat (như CentOS, Fedora)
Bạn có thể cần cài đặt lshw bằng yum hoặc dnf:
sudo yum install lshw # for CentOS
sudo dnf install lshw # for Fedora
Đối với các bản phân phối dựa trên Arch
Bạn có thể cài đặt lshw bằng pacman:
sudo pacman -S lshw
Khám phá thông tin CPU trên Linux không chỉ là cách tuyệt vời để tìm hiểu thêm về phần cứng của bạn mà còn rất quan trọng đối với việc tối ưu hóa và khắc phục sự cố hệ thống. Thật thú vị khi xem các chi tiết phức tạp của CPU và hiểu cách nó cung cấp năng lượng cho những tác vụ hàng ngày của bạn.
Hãy thoải mái khám phá các lệnh này và tìm hiểu sâu hơn về chi tiết CPU của riêng bạn. Bạn có thể khám phá ra điều gì đó mới mẻ và thú vị về hệ thống của mình!