얻을 수 있는 프로세서와 관련된 여러 가지 정보가 있습니다.
- 물리적 프로세서 수
- 코어 수
- 논리 프로세서 수
모두 다를 수 있습니다. 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