2010-08-12 36 views
3

我知道我可以使用System.Environment.ProcessorCount来返回机器中“处理器”的数量。我试图做的是找出是否有办法确定处理器中的核心数量,而不是将超线程作为“核心”。例如,在双核超线程处理器上,System.Environment.ProcessorCount将返回4,因为有2个物理内核,均具有超线程。我想要做的是返回2,因为只有2个物理内核。检索物理核心处理器的数量

顺便说一句,我使用的是C#。

回答

3

您可以使用WMI来获取系统中的核心数量。堆栈溢出的类似问题包括一个代码示例: - >How to find the Number of CPU Cores via .NET/C#?

需要牢记的一点很重要,即在某些系统中,此值可能不可用;例如,在Windows Server 2003上,您需要从Microsoft下载修补程序才能使“NumberOfCores”正常工作。