获取XP 64位系统上的内核数



Hej,

我写了一个函数,应该能给出windows系统的内核数量。它适用于除XP 64位之外的所有系统。以下是我获取信息的方式:

$objWMIItems = $objWMIService.ExecQuery ("SELECT * FROM Win32_Processor")
If (0 == IsObj($objWMIItems)) Then
       ;~ errorhandling
Else
For $objElement In $objWMIItems
    $nCoreNumber = $objElement.NumberOfCores
Next

关于"NumberOfCores",MicrosoftMSDN页面告诉我"WindowsServer2003、WindowsXP和Windows2000:此属性不可用"。在我读到的某个地方,安装SP3是可能的。我想这是真的,因为它在XP 32位系统上是这样工作的。但是XP 64没有SP3…

有其他方法可以获得信息吗?

感谢

我认为读取NUMBER_OF_PROCESSORS环境变量最简单。

您想要"核心"还是"包括超线程的逻辑处理器数量"?(换句话说,你想把超线程作为一个"核心"吗?(?

无论如何,复制我不久前的一个类似问题的答案:

如果您确实需要区分实际的核心、芯片和逻辑处理器,要调用的API是获取逻辑处理信息

GetSystemInfo如果只是想知道上有多少逻辑处理器一台机器(对超线程没有区别(。

相关内容

  • 没有找到相关文章

最新更新