Processeurs physiques, logiques et nombre de cœurs
Bonjour,
Historiquement, les ordinateurs étaient équipés d'un seul processeur, puis la notion de processeurs logiques est apparue avec ce qu'on appelait à l'époque l'hyper-threading (ou les processeurs multi-threadés), et nous voyons maintenant des ordinateurs équipés de deux cœurs, quatre cœurs et bien plus.
Le but de ce rapide post est de vous présenter une méthode simplissime pour déterminer le nombre de processeurs physiques d’une machine, mais aussi le nombre de cœurs et le nombre de processeurs logiques.
Tout cela peut se faire via WMI sur Windows Vista et versions supérieures (mais aussi sur Windows 2003 avec le hotfix suivant installé : https://support.microsoft.com/kb/932370/en-us).
Le code vbscript suivant montre comment faire, notez que pour savoir si un processeur est hyper-threadé, il suffit de comparer le nombre de processeurs logiques et le nombre de cœurs :
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Processor")
WScript.Echo "Nombre de processeurs physiques : " & colItems.Count
For Each objItem in colItems
Wscript.Echo "Processeur : " & objItem.Name
Wscript.Echo "Nombre de processeurs logiques : " & objItem.NumberOfLogicalProcessors
Wscript.Echo "Nombre de coeurs : " & objItem.NumberOfCores
if objItem.NumberOfCores < objItem.NumberOfLogicalProcessors then
WScript.Echo "Ce processeur est hyper-threadé"
else
WScript.Echo "Ce processeur n'est pas hyper-threadé"
end if
Next
A bientôt
Aurélien
Comments
- Anonymous
November 24, 2008
PingBack from http://blog.a-foton.ru/index.php/2008/11/24/processeurs-physiques-logiques-et-nombre-de-coeurs/