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?
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
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
Cela signifie simplement:
Vous en fait avez un processeur i3 quad-core sur votre système.
Ce "CPU i3 quad-core" contient quatre cœurs logiques.