如何在 C# 中查詢 CPU 核數?
我們可以獲取關於處理器的多種不同資訊
- 物理處理器數量
- 核心數量
- 邏輯處理器數量
所有這些都可能不同;就一臺擁有 2 個雙核超執行緒啟用的處理器的機器而言,有 2 個物理處理器、4 個核心和 8 個邏輯處理器。
邏輯處理器的數量可以透過環境類獲取,但其他資訊只能透過 WMI 獲取(並且在某些系統上,您可能必須安裝一些修補程式或服務包才能獲得資訊) −
在您的專案中新增對System.Management.dll的引用。在 .NET Core 中,這可作為 NuGet 軟體包(僅適用於 Windows)獲得。
物理處理器
示例
class Program{
public static void Main(){
foreach (var item in new
System.Management.ManagementObjectSearcher("Select * from
Win32_ComputerSystem").Get()){
Console.WriteLine("Number Of Physical Processors: {0} ",
item["NumberOfProcessors"]);
}
Console.ReadLine();
}
}輸出
Number Of Physical Processors: 1
核心
class Program{
public static void Main(){
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.ReadLine();
}
}輸出
Number Of Cores: 2
邏輯處理器
class Program{
public static void Main(){
Console.WriteLine("Number Of Logical Processors: {0}",
Environment.ProcessorCount);
Console.ReadLine();
}
}輸出
Number Of Logical Processors: 4
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
安卓
Python
C 程式設計
C++
C#
MongoDB
MySQL
JavaScript
PHP