Environment.ProcessorCount 应该给你核心的数量,在本地计算机上。
有几条不同处理器,您可以获得有关的信息: 物理处理器、 芯数、 逻辑处理器数的数字。这些可以不同 ;2 颗双核超线程-启用的处理器机器的情况下有 2 个物理处理器、 4 的核心和 8 个逻辑处理器。
逻辑处理器数是可通过在 Environment 的类,但其他信息都是只可通过 WMI (和您可能需要安装一些 修补程序或服务包,以获取它在某些系统上):
物理处理器:
foreach (var item in new System.Management.ManagementObjectSearcher("Select * from Win32_ComputerSystem").Get())
{
Console.WriteLine("Number Of Physical Processors: {0} ", item["NumberOfProcessors"]);
}
内核:
int coreCount = 0;
foreach (var item in new System.Management.ManagementObjectSearcher("Select * from Win32_Processor").Get())
{
coreCount += int.Parse(item["NumberOfCores"].ToString());
}
Console.WriteLine("Number Of Cores: {0}", coreCount);
逻辑处理器:
Console.WriteLine("Number Of Logical Processors: {0}", Environment.ProcessorCount);
或
foreach (var item in new System.Management.ManagementObjectSearcher("Select * from Win32_ComputerSystem").Get())
{
Console.WriteLine("Number Of Logical Processors: {0}", item["NumberOfLogicalProcessors"]);
}