Phiên dịch đầu ra của cat / Proc / cpuinfo


22

Làm thế nào để người ta diễn giải thông tin được in ra bằng lệnh sau trong Linux

cat /proc/cpuinfo

Trên máy tính xách tay của tôi, tôi nhận được đầu ra sau:

[bò tót 108: ~] $ cat / Proc / cpuinfo (02-09 15:34)
bộ xử lý: 0
eller_id: GenuineIntel
gia đình cpu: 6
mô hình: 37
Tên model: CPU Intel (R) Core (TM) i3 M 330 @ 2.13GHz
bước: 2
cpu MHz: 933.000
kích thước bộ đệm: 3072 KB
id vật lý: 0
anh chị em: 4
id lõi: 0
lõi cpu: 2
xin lỗi: 0
apicid ban đầu: 0
fdiv_orms: không
hlt_orms: không
f00f_orms: không
coma_orms: không
fpu: có
fpu_exception: có
mức cpuid: 11
wp: vâng
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge pdcm sse4_1 sse4_2 popcnt lahf_lm arat dts tpr_shadow vnmi flexp Warriority ept vpid
bogomips: 4256,49
kích thước clflush: 64
cache_alocation: 64
kích thước địa chỉ: 36 bit vật lý, 48 bit ảo
quản lý năng lượng:

bộ xử lý: 1
eller_id: GenuineIntel
gia đình cpu: 6
mô hình: 37
Tên model: CPU Intel (R) Core (TM) i3 M 330 @ 2.13GHz
bước: 2
cpu MHz: 933.000
kích thước bộ đệm: 3072 KB
id vật lý: 0
anh chị em: 4
id lõi: 0
lõi cpu: 2
xin lỗi: 1
apicid ban đầu: 1
fdiv_orms: không
hlt_orms: không
f00f_orms: không
coma_orms: không
fpu: có
fpu_exception: có
mức cpuid: 11
wp: vâng
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge pdcm sse4_1 sse4_2 popcnt lahf_lm arat dts tpr_shadow vnmi flexp Warriority ept vpid
bogomips: 4256,40
kích thước clflush: 64
cache_alocation: 64
kích thước địa chỉ: 36 bit vật lý, 48 bit ảo
quản lý năng lượng:

bộ xử lý: 2
eller_id: GenuineIntel
gia đình cpu: 6
mô hình: 37
Tên model: CPU Intel (R) Core (TM) i3 M 330 @ 2.13GHz
bước: 2
cpu MHz: 933.000
kích thước bộ đệm: 3072 KB
id vật lý: 0
anh chị em: 4
id lõi: 2
lõi cpu: 2
apicid: 4
apicid ban đầu: 4
fdiv_orms: không
hlt_orms: không
f00f_orms: không
coma_orms: không
fpu: có
fpu_exception: có
mức cpuid: 11
wp: vâng
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge pdcm sse4_1 sse4_2 popcnt lahf_lm arat dts tpr_shadow vnmi flexp Warriority ept vpid
bogomips: 4256,43
kích thước clflush: 64
cache_alocation: 64
kích thước địa chỉ: 36 bit vật lý, 48 bit ảo
quản lý năng lượng:

bộ xử lý: 3
eller_id: GenuineIntel
gia đình cpu: 6
mô hình: 37
Tên model: CPU Intel (R) Core (TM) i3 M 330 @ 2.13GHz
bước: 2
cpu MHz: 933.000
kích thước bộ đệm: 3072 KB
id vật lý: 0
anh chị em: 4
id lõi: 2
lõi cpu: 2
apicid: 5
apicid ban đầu: 5
fdiv_orms: không
hlt_orms: không
f00f_orms: không
coma_orms: không
fpu: có
fpu_exception: có
mức cpuid: 11
wp: vâng
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge pdcm sse4_1 sse4_2 popcnt lahf_lm arat dts tpr_shadow vnmi flexp Warriority ept vpid
bogomips: 4256,42
kích thước clflush: 64
cache_alocation: 64
kích thước địa chỉ: 36 bit vật lý, 48 bit ảo
quản lý năng lượng:

Bây giờ nó nói rằng có 4 bộ xử lý trên hệ thống. Ngoài ra còn có một trường bên trong thông tin của từng trường bộ xử lý cho biết lõi cou là 2.

Điều đó có nghĩa là có 4 CPU của Intel i3 trên hệ thống của tôi phải không? Trường xử lý thực sự có ý nghĩa gì ở đây?

Câu trả lời:


17

Các mục là bộ xử lý logic ; các đối tượng được sử dụng bởi kernel bên trong, không nhất thiết phải gắn với các thiết bị vật lý. (Lưu ý rằng tất cả chúng đều giống nhau physical id.)

Nói cách khác, chúng đại diện cho bốn lõi của một CPU Intel i3 duy nhất.

Ngoài ra, như đã lưu ý trên bài đăng này (không chính xác là trùng lặp nhưng có liên quan chặt chẽ), các lõi đó cũng hợp lý - CPU có hai lõi về mặt vật lý nhưng hỗ trợ siêu phân luồng.

Lưu ý rằng một số bộ xử lý Intel (bao gồm i5) sử dụng siêu phân luồng, một hệ thống trong đó một bộ xử lý có 2 lõi pyhsical, nhưng sẽ cung cấp 4 lõi logic - cho phép hệ điều hành xử lý bộ xử lý có nhiều lõi hơn thực tế làm.


Nếu hệ thống của bạn có lscpucông cụ (một phần của linux-linux gần đây ), nó sẽ đưa ra một bản tóm tắt dễ đọc hơn về CPU được cài đặt, ví dụ:

Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1

Là kích thước địa chỉ vật lý càng dài càng tốt, hoặc càng ngắn càng tốt?
Qian Chen

@ElgsQianChen: Thông thường, càng lâu càng tốt. Xem cách thế giới chuyển từ CPU 8 bit sang 16 bit sang 32 bit và sau đó sang CPU 64 bit. Số bit đó là "kích thước địa chỉ".
grawity

Có vẻ như tôi thấy nhiều kích cỡ vật lý khác nhau, như 36 bit, 40 bit và 46 bit. Kích thước ảo dường như luôn là 48 bit. Vậy tại sao có kích thước vật lý khác nhau, và ý nghĩa của chúng khi chúng ngắn hơn hoặc dài hơn?
Qian Chen

9

Đây là một kịch bản awk nội tuyến để in đẹp và trích xuất dữ liệu liên quan từ /proc/cpuinfo:

cat /proc/cpuinfo | \
awk -v FS=':' '                                       \
  /^physical id/ { if(nb_cpu<$2)  { nb_cpu=$2 } }     \
  /^cpu cores/   { if(nb_cores<$2){ nb_cores=$2 } }   \
  /^processor/   { if(nb_units<$2){ nb_units=$2 } }   \
  /^model name/  { model=$2 }                         \
                                                      \
  END{                                                \
   nb_cpu=(nb_cpu+1);                                 \
   nb_units=(nb_units+1);                             \
                                                      \
   print "CPU model:",model;                          \
   print nb_cpu,"CPU,",nb_cores,"physical cores per CPU, total",nb_units,"logical CPU units" \
 }'

Đầu ra cho một máy chủ hiệu suất cao:

CPU model:  Intel(R) Xeon(R) CPU           X5650  @ 2.67GHz
2 CPU,  6 physical cores per CPU, total 24 logical CPU units

Đầu ra cho máy tính xách tay Core i5:

CPU model:  Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz
1 CPU,  2 physical cores per CPU, total 4 logical CPU units

0

Nó đơn giản có nghĩa là:

  1. Bạn thực sự có một CPU i3 lõi tứ trên hệ thống của mình.

  2. "CPU i3 bốn nhân" này có bốn lõi logic trong đó.


2
Trên thực tế, đó là CPU i3 lõi kép với bốn lõi logic.
David Schwartz
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.