Interpretation der Ausgabe von cat / proc / cpuinfo

22

Wie interpretiert man die Informationen, die mit dem folgenden Befehl unter Linux ausgegeben werden?

cat /proc/cpuinfo

Auf meinem Laptop erhalte ich folgende Ausgabe:

[gaurish108: ~] $ cat / proc / cpuinfo (02-09 15:34)
Prozessor: 0
vendor_id: GenuineIntel
CPU-Familie: 6
Modell: 37
Modellbezeichnung: Intel (R) Core (TM) i3-CPU M 330 bei 2,13 GHz
Schritt: 2
CPU MHz: 933.000
Cache-Größe: 3072 KB
physische ID: 0
Geschwister: 4
Kern-ID: 0
CPU-Kerne: 2
apicid: 0
Anfangsapicid: 0
fdiv_bug: nein
hlt_bug: nein
f00f_bug: nein
coma_bug: nein
fpu: ja
fpu_exception: ja
CPU-Level: 11
wp: ja
flags: fpu vme de ps tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm pdcm sse4_1 sse4_2 popcnt lahf_lm dts tpr_shadow vnmi flexpriority ept vpid
bogomips: 4256.49
Clflush-Größe: 64
cache_alignment: 64
Adressgrößen: 36 Bit physisch, 48 Bit virtuell
Energieverwaltung:

Prozessor: 1
vendor_id: GenuineIntel
CPU-Familie: 6
Modell: 37
Modellbezeichnung: Intel (R) Core (TM) i3-CPU M 330 bei 2,13 GHz
Schritt: 2
CPU MHz: 933.000
Cache-Größe: 3072 KB
physische ID: 0
Geschwister: 4
Kern-ID: 0
CPU-Kerne: 2
apicid: 1
Anfangsapicid: 1
fdiv_bug: nein
hlt_bug: nein
f00f_bug: nein
coma_bug: nein
fpu: ja
fpu_exception: ja
CPU-Level: 11
wp: ja
flags: fpu vme de ps tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm pdcm sse4_1 sse4_2 popcnt lahf_lm dts tpr_shadow vnmi flexpriority ept vpid
Bogomips: 4256,40
Clflush-Größe: 64
cache_alignment: 64
Adressgrößen: 36 Bit physisch, 48 Bit virtuell
Energieverwaltung:

Prozessor: 2
vendor_id: GenuineIntel
CPU-Familie: 6
Modell: 37
Modellbezeichnung: Intel (R) Core (TM) i3-CPU M 330 bei 2,13 GHz
Schritt: 2
CPU MHz: 933.000
Cache-Größe: 3072 KB
physische ID: 0
Geschwister: 4
Kern-ID: 2
CPU-Kerne: 2
apicid: 4
Anfangsapicid: 4
fdiv_bug: nein
hlt_bug: nein
f00f_bug: nein
coma_bug: nein
fpu: ja
fpu_exception: ja
CPU-Level: 11
wp: ja
flags: fpu vme de ps tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm pdcm sse4_1 sse4_2 popcnt lahf_lm dts tpr_shadow vnmi flexpriority ept vpid
bogomips: 4256.43
Clflush-Größe: 64
cache_alignment: 64
Adressgrößen: 36 Bit physisch, 48 Bit virtuell
Energieverwaltung:

Prozessor: 3
vendor_id: GenuineIntel
CPU-Familie: 6
Modell: 37
Modellbezeichnung: Intel (R) Core (TM) i3-CPU M 330 bei 2,13 GHz
Schritt: 2
CPU MHz: 933.000
Cache-Größe: 3072 KB
physische ID: 0
Geschwister: 4
Kern-ID: 2
CPU-Kerne: 2
apicid: 5
Anfangsapicid: 5
fdiv_bug: nein
hlt_bug: nein
f00f_bug: nein
coma_bug: nein
fpu: ja
fpu_exception: ja
CPU-Level: 11
wp: ja
flags: fpu vme de ps tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm pdcm sse4_1 sse4_2 popcnt lahf_lm dts tpr_shadow vnmi flexpriority ept vpid
bogomips: 4256.42
Clflush-Größe: 64
cache_alignment: 64
Adressgrößen: 36 Bit physisch, 48 Bit virtuell
Energieverwaltung:

Jetzt heißt es, dass 4 Prozessoren auf dem System sind. Es gibt auch ein Feld in der Information jedes Prozessorfeldes, das besagt, dass die Kerne 2 sind.

Bedeutet das, dass sich 4 Intel i3-CPUs auf meinem System befinden? Was bedeutet das Prozessorfeld hier wirklich?

lächelnder Buddha
quelle

Antworten:

17

Die Einträge sind logische Prozessoren. Objekte, die vom Kernel intern verwendet werden und nicht unbedingt an physische Geräte gebunden sind. (Beachten Sie, dass alle dasselbe haben physical id.)

Mit anderen Worten, sie repräsentieren die vier Kerne einer einzelnen Intel i3-CPU.

Wie in diesem Beitrag erwähnt (der kein Duplikat ist, sondern eng verwandt), sind diese Kerne auch logisch - die CPU verfügt physisch über zwei Kerne, unterstützt jedoch Hyperthreading.

Beachten Sie, dass einige Intel-Prozessoren (einschließlich i5) Hyperthreading verwenden. Hierbei handelt es sich um ein System, bei dem ein einzelner Prozessor (zum Beispiel) über 2 physische Kerne verfügt, aber 4 logische Kerne bereitstellt. Auf diese Weise kann das Betriebssystem den Prozessor so behandeln, dass er über mehr Kerne verfügt, als er tatsächlich hat tut.


Wenn auf Ihrem System das lscpuTool (Teil des aktuellen Util-Linux ) installiert ist, wird eine besser lesbare Zusammenfassung der installierten CPUs ausgegeben. Beispiel:

Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1
Grawity
quelle
Ist die physikalische Adressgröße umso größer, je besser oder je kürzer desto besser?
Qian Chen
@ElgsQianChen: Normalerweise gilt: Je länger, desto besser. Erfahren Sie, wie die Welt von 8-Bit-CPUs auf 16-Bit- auf 32-Bit- und dann auf 64-Bit-CPUs umgestiegen ist. Diese Bitanzahl ist die "Adressgröße".
Grawity
Anscheinend sehe ich eine Vielzahl von physischen Größen, wie 36 Bit, 40 Bit und 46 Bit. Die virtuelle Größe scheint immer 48 Bit zu sein. Warum gibt es also unterschiedliche physikalische Größen und was bedeuten sie, wenn sie kürzer oder länger sind?
Qian Chen
9

Hier ist ein Inline-Awk-Skript, mit dem Sie relevante Daten schön ausdrucken und extrahieren können /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" \
 }'

Ausgabe für einen Hochleistungsserver:

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

Ausgabe für einen Core i5 Laptop:

CPU model:  Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz
1 CPU,  2 physical cores per CPU, total 4 logical CPU units
Mickaël Le Baillif
quelle
0

Es bedeutet einfach:

  1. Sie haben tatsächlich eine Quad-Core-i3-CPU auf Ihrem System.

  2. Diese "eine Quad-Core-i3-CPU" enthält vier logische Kerne.

SP Sandhu
quelle
2
Eigentlich ist es eine Dual-Core-i3-CPU mit vier logischen Kernen.
David Schwartz