有幾條不同的處理器信息,您可以獲得有關的信息:物理處理器數量、核心數量和邏輯處理器數量,這些可以不同。兩顆雙核超線程(啟用)處理器的機器情況下有: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"]); }
原文地址:http://www.itstrike.cn/Question/how-to-find-the-number-of-cpu-cores-via-net-csharp