0

我无法访问多插槽计算机,因此我不确定以下是否会获得处理器和逻辑处理器的总数。我假设 ManagementObjectSearcher 将为每个套接字 CPU 返回一个实例,而我只保留一个运行总数?

int totalCPUs = 0;
int totalLogicalCPUs = 0;

ManagementObjectSearcher mos = new ManagementObjectSearcher("Select * from Win32_ComputerSystem");
foreach (var mo in mos.Get())
{
    string num = mo.Properties["NumberOfProcessors"].Value.ToString();
    totalCPUs += Convert.ToInt32(num);


    num = mo.Properties["NumberOfLogicalProcessors"].Value.ToString();
    totalLogicalCPUs += Convert.ToInt32(num);
}
4

1 回答 1

0

它只会返回 1 个 Win32_ComputerSystem 实例。从文档中:

如果计算机系统有两个物理处理器,每个物理处理器包含两个逻辑处理器,则 NumberOfProcessors 的值为 2,NumberOfLogicalProcessors 为 4。处理器可能是多核的,也可能是超线程处理器。

于 2010-08-25T22:06:12.047 回答