Comment déterminer le nombre de processeurs physiques sous Windows et Linux

5

Lors de l' exécution cat /proc/cpuinfosous Linux, une information de variété est botté arrière. Par exemple:

> cat /proc/cpuinfo
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 15
model name  : Intel(R) Xeon(R) CPU            5130  @ 2.00GHz
stepping    : 6
cpu MHz     : 1995.069
cache size  : 4096 KB
physical id : 0
siblings    : 2
core id     : 0
cpu cores   : 2
fpu     : yes
fpu_exception   : yes
cpuid level : 10
wp      : yes
flags       : 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 syscall nx lm constant_tsc pni monitor ds_cpl vmx tm2 cx16 xtpr lahf_lm
bogomips    : 3991.76
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 6
model       : 15
model name  : Intel(R) Xeon(R) CPU            5130  @ 2.00GHz
stepping    : 6
cpu MHz     : 1995.069
cache size  : 4096 KB
physical id : 3
siblings    : 2
core id     : 0
cpu cores   : 2
fpu     : yes
fpu_exception   : yes
cpuid level : 10
wp      : yes
flags       : 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 syscall nx lm constant_tsc pni monitor ds_cpl vmx tm2 cx16 xtpr lahf_lm
bogomips    : 3989.46
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

Premièrement, qu'est-ce que tout cela signifie réellement ? Je vois que j'ai un processeur 0 et processeur 1. Est - ce que cela signifie Linux rapporte les deux noyaux de la CPU, ou, car il est une machine virtuelle, les deux que j'arriver à avoir en ce moment (même si elles sont sur des processeurs physiquement différents )?

Deuxièmement, comment puis-je obtenir un vidage d’informations similaire à partir de la ligne de commande sous Windows?

Troisièmement, existe-t-il un moyen d'utiliser l'une ou l'autre plateforme pour déterminer le nombre de CPU physiques par rapport au nombre total de cœurs de CPU?

garenne
la source

Réponses:

7

Pour répondre à votre première question: http://www.richweb.com/cpu_info décrit en détail toutes les sorties de cpuinfo avec une discussion intéressante après l’article.

Dans votre cas, il signale que votre machine virtuelle est configurée pour se présenter au système d'exploitation en tant que machine virtuelle à deux noyaux physiques. Le métal nu sous la VM peut être 1 ou 100 cœurs, mais en ce qui concerne le système d'exploitation de la VM, vous disposez d'une machine avec deux processeurs physiques avec laquelle elle peut jouer. Il ignore comment les threads affectés à ces processeurs sont en cours d'exécution sur le matériel physique situé sous la machine virtuelle.

Pour obtenir des informations quelque peu similaires à partir d'un shell CMD Windows, vous pouvez essayer la systeminfocommande à partir d'un shell CMD. Il affiche beaucoup plus que les /proc/cpuinfoéléments sous Linux, mais pas autant de détails sur les processeurs eux-mêmes.

Je ne connais pas la réponse à votre troisième question, désolé.

Ian C.
la source
n'était pas familier avec systeminfo.. outil très cool, cependant :)
warren
AmirW a pu trouver l'info cpuinfoqui a les identifiants physiques ( superuser.com/questions/186682/… )
warren
7

Troisième question:

Dans cpuinfo, il existe un champ "ID physique", il est unique par CPU physique. Les cœurs du même processeur sont signalés comme des processeurs différents avec le même identifiant physique, alors que les processeurs physiquement séparés auront des identifiants physiques différents.

Notez que si vous êtes sur une machine virtuelle, vous ne pouvez rien savoir du matériel réel (processeur, etc.), tout ce que vous savez, c'est ce que la machine virtuelle vous dit. Ainsi, par exemple, si votre machine physique dispose d'un processeur à quatre cœurs et que votre machine virtuelle est configurée pour générer des rapports sur deux processeurs à un seul cœur, vous verrez deux processeurs à un seul cœur dans cpuinfo (c.-à-d. Deux processeurs avec un identificateur physique différent).

AmirW
la source
2
merci, AmirW - la commande exacte que j'utilise et qui me le renvoie est la suivante:cat /proc/cpuinfo | grep physical | grep id | sort -u | wc -l
warren
1

Bon mot:

dmidecode | grep CPU | grep -i 'socket designation' | wc -l

Cette commande analyse les informations détaillées fournies par dmidecode pour déterminer le nombre de processeurs physiques en fonction de la valeur unique de "désignation de socket" attribuée à chaque unité centrale de traitement physique. Vous pouvez l’utiliser pour obtenir un nombre de processeurs physiques sur un hôte donné. Essayer de chat / proc / cpuinfo ne marche pas toujours. Sur un serveur PowerEdge R420 avec un serveur 2x6C 2,4 GHz, cpuinfo a signalé par erreur un processeur.

Gregory Patmore
la source
Il analyse les informations détaillées fournies par dmidecode pour déterminer le nombre de processeurs physiques en fonction de la valeur unique de "désignation de socket" attribuée à chaque unité centrale. Vous pouvez l’utiliser pour obtenir un nombre de processeurs physiques sur un hôte donné. essayer de chat / proc / cpuinfo ne marche pas toujours. Sur un serveur PowerEdge R420 avec un serveur 2x6C 2,4 GHz, cpuinfo a signalé par erreur un processeur.
Gregory Patmore