获取没有超线程的实际处理器内核总数
Get total count of actual processor cores without Hyperthreading
我正在寻找一种方法来获取实际处理器核心的总数,因为我发现的所有内容(例如 this)returns 核心数量加上英特尔的超线程技术,即我我的 i7 6700K 显示有 8 个内核,而处理器只有 4 actual cores
。据我所知,这仅适用于具有超线程技术的英特尔处理器。
我自己弄明白了(使用 Linq)。 las,代码在速度方面并不是最快的。参考 System.Management
就可以了:
var processorCoreCount = new ManagementObjectSearcher("Select * from Win32_Processor").Get().Cast<ManagementBaseObject>().Sum(item => int.Parse(item["NumberOfCores"].ToString()));
我正在寻找一种方法来获取实际处理器核心的总数,因为我发现的所有内容(例如 this)returns 核心数量加上英特尔的超线程技术,即我我的 i7 6700K 显示有 8 个内核,而处理器只有 4 actual cores
。据我所知,这仅适用于具有超线程技术的英特尔处理器。
我自己弄明白了(使用 Linq)。 las,代码在速度方面并不是最快的。参考 System.Management
就可以了:
var processorCoreCount = new ManagementObjectSearcher("Select * from Win32_Processor").Get().Cast<ManagementBaseObject>().Sum(item => int.Parse(item["NumberOfCores"].ToString()));