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