Interpretazione dell'output di cat / proc / cpuinfo


22

Come si interpretano le informazioni stampate dal seguente comando in Linux

cat /proc/cpuinfo

Sul mio laptop ottengo il seguente output:

[gaurish108: ~] $ cat / proc / cpuinfo (02-09 15:34)
processore: 0
vendor_id: GenuineIntel
famiglia della cpu: 6
modello: 37
nome del modello: CPU Intel (R) Core (TM) i3 M 330 @ 2.13GHz
passo: 2
cpu MHz: 933.000
dimensione della cache: 3072 KB
ID fisico: 0
fratelli: 4
ID core: 0
core della CPU: 2
apicida: 0
apicida iniziale: 0
fdiv_bug: no
hlt_bug: no
f00f_bug: no
coma_bug: no
fpu: si
fpu_exception: sì
livello di CPU: 11
wp: si
flag: 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 nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology nonstopxppppppfpmpfpm pdcm sse4_1 sse4_2 popcnt lahf_lm arat dts tpr_shadow vnmi flexpriority ept vpid
bogomips: 4256.49
dimensione del clflush: 64
cache_allineamento: 64
dimensioni dell'indirizzo: 36 bit fisici, 48 bit virtuali
gestione energetica:

processore: 1
vendor_id: GenuineIntel
famiglia della cpu: 6
modello: 37
nome del modello: CPU Intel (R) Core (TM) i3 M 330 @ 2.13GHz
passo: 2
cpu MHz: 933.000
dimensione della cache: 3072 KB
ID fisico: 0
fratelli: 4
ID core: 0
core della CPU: 2
apicida: 1
apicida iniziale: 1
fdiv_bug: no
hlt_bug: no
f00f_bug: no
coma_bug: no
fpu: si
fpu_exception: sì
livello di CPU: 11
wp: si
flag: 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 nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology nonstopxppppppfpmpfpm pdcm sse4_1 sse4_2 popcnt lahf_lm arat dts tpr_shadow vnmi flexpriority ept vpid
bogomips: 4256.40
dimensione del clflush: 64
cache_allineamento: 64
dimensioni dell'indirizzo: 36 bit fisici, 48 bit virtuali
gestione energetica:

processore: 2
vendor_id: GenuineIntel
famiglia della cpu: 6
modello: 37
nome del modello: CPU Intel (R) Core (TM) i3 M 330 @ 2.13GHz
passo: 2
cpu MHz: 933.000
dimensione della cache: 3072 KB
ID fisico: 0
fratelli: 4
ID core: 2
core della CPU: 2
apicida: 4
apicida iniziale: 4
fdiv_bug: no
hlt_bug: no
f00f_bug: no
coma_bug: no
fpu: si
fpu_exception: sì
livello di CPU: 11
wp: si
flag: 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 nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology nonstopxppppppfpmpfpm pdcm sse4_1 sse4_2 popcnt lahf_lm arat dts tpr_shadow vnmi flexpriority ept vpid
bogomips: 4256.43
dimensione del clflush: 64
cache_allineamento: 64
dimensioni dell'indirizzo: 36 bit fisici, 48 bit virtuali
gestione energetica:

processore: 3
vendor_id: GenuineIntel
famiglia della cpu: 6
modello: 37
nome del modello: CPU Intel (R) Core (TM) i3 M 330 @ 2.13GHz
passo: 2
cpu MHz: 933.000
dimensione della cache: 3072 KB
ID fisico: 0
fratelli: 4
ID core: 2
core della CPU: 2
apicida: 5
apicida iniziale: 5
fdiv_bug: no
hlt_bug: no
f00f_bug: no
coma_bug: no
fpu: si
fpu_exception: sì
livello di CPU: 11
wp: si
flag: 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 nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology nonstopxppppppfpmpfpm pdcm sse4_1 sse4_2 popcnt lahf_lm arat dts tpr_shadow vnmi flexpriority ept vpid
bogomips: 4256.42
dimensione del clflush: 64
cache_allineamento: 64
dimensioni dell'indirizzo: 36 bit fisici, 48 bit virtuali
gestione energetica:

Ora dice che ci sono 4 processori sul sistema. C'è anche un campo all'interno delle informazioni di ciascun campo del processore che dice che i core sono 2.

Significa che ci sono 4 CPU Intel i3 sul mio sistema? Cosa significa veramente il campo del processore qui?

Risposte:


17

Le voci sono processori logici ; oggetti usati internamente dal kernel, non necessariamente legati a dispositivi fisici. (Nota che hanno tutti lo stesso physical id.)

In altre parole, rappresentano i quattro core di una singola CPU Intel i3.

Inoltre, come notato in questo post (che non è esattamente un duplicato ma strettamente correlato), anche questi core sono logici: la CPU ha due core fisicamente ma supporta l'hyperthreading.

Si noti che alcuni processori Intel (incluso i5) utilizzano l'hyperthreading, un sistema in cui un singolo processore ha (ad esempio) 2 core fisici, ma fornirà 4 core logici, consentendo al sistema operativo di trattare il processore con più core di quanti ne abbia realmente lo fa.


Se il tuo sistema ha lo lscpustrumento (parte del recente util-linux ), produrrebbe un riepilogo più leggibile dalle CPU installate, ad esempio:

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

La dimensione dell'indirizzo fisico è più lunga è la migliore o più corta è la migliore?
Qian Chen,

@ElgsQianChen: di solito, più è lungo, meglio è. Scopri come il mondo è passato dalle CPU a 8 bit alle CPU da 16 bit a 32 bit e quindi a CPU a 64 bit. Quel numero di bit è la "dimensione dell'indirizzo".
Grawity il

Mi sembra di vedere una varietà di dimensioni fisiche, come 36 bit, 40 bit e 46 bit. La dimensione virtuale sembra essere sempre di 48 bit. Quindi perché ci sono diverse dimensioni fisiche e cosa significano quando sono più o meno lunghi?
Qian Chen,

9

Ecco uno script awk in linea per stampare graziosamente ed estrarre dati rilevanti da /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" \
 }'

Output per un server ad alte prestazioni:

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

Uscita per un laptop 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

Significa semplicemente:

  1. In realtà hai una CPU i3 quad-core sul tuo sistema.

  2. Questa "una CPU i3 quad-core" contiene quattro core logici.


2
In realtà, è una CPU i3 dual-core con quattro core logici.
David Schwartz,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.