C#獲取CPU處理器核心數量的方法_C#教程


https://yq.aliyun.com/ziliao/89096

摘要: 本文講的是C#獲取CPU處理器核心數量的方法_C#教程, 有幾條不同的處理器信息,您可以獲得有關的信息:物理處理器數量、核心數量和邏輯處理器數量,這些可以不同。兩顆雙核超線程(啟用)處理器的機器情況下有:2個物理處理器、4個核心和8個邏輯處理器。 邏輯處理器數是可

有幾條不同的處理器信息,您可以獲得有關的信息:物理處理器數量、核心數量和邏輯處理器數量,這些可以不同。兩顆雙核超線程(啟用)處理器的機器情況下有: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"]); }

 

// 當前計算機上的處理器數量
int processorCount = Environment.ProcessorCount;
int minWorkThreadCount = processorCount * 4;
int minIOWorkThreadCount = processorCount * 2;
//int minWorker, minIOC;
// Get the current settings.
// ThreadPool.GetMinThreads(out minWorker, out minIOC);
// Change the minimum number of worker threads to 300, I/O threads to 200
ThreadPool.SetMinThreads(minWorkThreadCount, minIOWorkThreadCount);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM