如何在 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

更新於:25-9-2020

3K+ 次瀏覽

職業生涯起步

完成課程獲得認證

開始吧
廣告
© . All rights reserved.