web-dev-qa-db-fra.com

Interprétation de la sortie de cat / proc / cpuinfo

Comment interpréter les informations imprimées par la commande suivante sous Linux

cat /proc/cpuinfo

Sur mon ordinateur portable, je reçois la sortie suivante:

 [gaurish108: ~] $ cat/proc/cpuinfo (02-09 15:34) 
 processeur: 0 
 vendor_id: GenuineIntel 
 famille de cpu: 6 
 modèle: 37 
 nom du modèle: Intel (R) Core (TM) i3 CPU M 330 @ 2,13 GHz 
 pas à pas: 2 
 unité centrale: 933.000 
 taille du cache: 3072 KB 
 identifiant physique: 0 
 frères et sœurs: 4 
 identifiant principal: 0 
 cœurs de processeur: 2 
 apicid: 0 
 apicid initial: 0 
 fdiv_bug: non 
 hlt_bug: non 
 f00f_bug: non 
 coma_bug: non 
 fpu: oui 
 fpu_exception: yes 
 cpuid level: 11 
 wp: yes 
 flags: acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc Arch_perfmon pebs bts xtopologie nonstop_tsc aperfmperf pni moniteur dtes64 ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm arat dts tpr_shadow vnmi flexpriority ep vpid 
 bogomips: 4256.49 
 taille de flflush: 64 
. bits physique, virtuel 48 bits 
 gestion de l’alimentation: 
 
 processeur: 1 
 ID vendeur: GenuineIntel 
 famille de processeurs: 6 
 modèle : 37 
 Nom du modèle: Intel (R) Core (TM) i3 CPU M 330 @ 2,13 GHz 
 Pas à pas: 2 
 Cpu MHz: 933.000 
 Taille de la mémoire cache: 3072 KB 
 Identifiant physique: 0 
 Frères et sœurs: 4 
 Identifiant principal: 0 
 Cpu core: 2 
 Apicid: 1 
 apicid initial: 1 
 fdiv_bug: non 
 hlt_bug: non 
 f00f_bug: non 
 coma_bug: non : oui 
 niveau de fluide: 11 
 wp: oui 
 drapeaux: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse2 ss ht t m pbe nx rdtscp lm constant_ts arch_perf pebs bts non topopology top aperferpperf pni dts64 monitor ds_cpl vmx est tm s faire une partie de la même chose, c'est la même chose. 64 
 Cache_alignment: 64 
 Taille des adresses: physique 36 bits, virtuelle 
 48 bits, gestion de l'alimentation: 
 
 Processeur: 2 
 vendor_id: GenuineIntel 
 famille de processeurs: 6 
 modèle: 37 
 nom du modèle: Intel (R) Core (TM) i3 CPU M 330 à 2,13 GHz 
 2 
 Cpu MHz: 933.000 
 Taille de la mémoire cache: 3072 Ko 
 Identificateur physique: 0 
 Frères et sœurs: 4 
 Identificateur principal: 2 
 cpu cores: 2 
 apicid: 4 
 initial apicid: 4 
 fdiv_bug: non 
 hlt_bug: non 
 f00f_bug: non 
 coma_bug: non 
 fpu: oui 
 fpu_exception: oui 
 cpuid level: 11 
 wp: oui 
 flags : fpu vme de pse tsc sr sse sc s8 ss sse4_1 sse4_2 popcnt lahf_lm arat dts tpr_shadow vnmi flexpriority ept vpid 
 bogomips: 4256.43 
 taille de clflush: 64 
 cache_alignment: 64 
 tailles: 36 bits physique, 48 bits gestion virtuelle de l'alimentation 
: 
 
 processeur: 3 
 vendor_id: GenuineIntel 
 famille de processeurs: 6 
 modèle: 37 
 nom du modèle: Intel (R) Core (TM) i3 CPU M 330 @ 2,13 GHz 
 pas à pas: 2 
 cpu MHz: 933 000 
 taille de la mémoire cache: 3072 Ko 
 identifiant physique: 0 
 frères et sœurs: 4 
 identifiant principal: 2 
 cœurs de processeur: 2 
 apicid: 5 
 initial apicid: 5 
 fdiv_bug: non 
 hlt_bug: non 
 f00f_bug: non 
 coma_ bug: non 
 fpu: oui 
 fpu_exception: oui 
 niveau de cpuid: 11 
 wp: oui 
 drapeaux: fpu vme de pse tsc msr pae mcd mcq mb flexpriority ept vpid 
 bogomips: 4256.42 
 taille de vidage: 64 
 cache_alignment: 64 
 tailles d’adresses: physique 36 bits, gestion virtuelle 
 virtuelle 48 bits : 

Maintenant, il est indiqué qu'il y a 4 processeurs sur le système. Il existe également un champ à l'intérieur des informations de chaque champ de processeur indiquant que les cœurs sont 2.

Est-ce que cela signifie qu'il y a 4 processeurs Intel i3 sur mon système? Qu'est-ce que le champ de processeur signifie vraiment ici?

22
smilingbuddha

Les entrées sont logiques processeurs; objets utilisés par le noyau en interne, pas nécessairement liés à des périphériques physiques. (Notez qu'ils ont tous le même physical id.)

En d'autres termes, ils représentent les quatre cœurs d'un seul processeur Intel i3.

En outre, comme indiqué sur this post (ce qui n’est pas exactement une copie mais étroitement liée), ces cœurs sont également logiques - la CPU a deux cœurs physiquement mais supporte l’hyperthreading.

Notez que certains processeurs Intel (le i5 inclus) utilisent l’hyperthreading, système dans lequel un seul processeur comporte (par exemple) 2 cœurs physiques, mais fournit 4 cœurs logiques, ce qui permet au système d’exploitation de traiter le processeur avec plus de cœurs qu’il ne l’a réellement fait. Est-ce que.


Si votre système dispose de l'outil lscpu (faisant partie de récente util-linux ), il résumé plus lisible des processeurs installés, par exemple:

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

Voici un script awk intégré pour imprimer et extraire les données pertinentes de /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" \
 }'

Sortie pour un serveur hautes performances:

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

Sortie pour un ordinateur portable 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
8

Cela signifie simplement:

  1. Vous en fait avez un processeur i3 quad-core sur votre système.

  2. Ce "CPU i3 quad-core" contient quatre cœurs logiques.

0
SP Sandhu