2017-11-27 32 views
1

내 프로그램의 CPU 선호도를 쿼리하고 시스템에서 사용할 수있는 총 CPU 수에서 얼마나 많은 CPU가 할당되어 있는지 찾아야합니다.Win32 C++ : 프로세스 CPU 선호도 가져 오기?

std::thread::hardware_concurrency()은 선호도를 반영하지 않는 값을 반환합니다. 프로세스 선호도를 쿼리하는 (빠른) 방법이 있습니까? 이 작업처럼

+0

그것을 할 수없는 휴대용 방법은 없습니다. 그러나 Windows API 함수를 검색해 보면 많은 예제를 찾을 수 있습니다. 그 중 상당수가 여기에 존재할 수도 있습니다. –

답변

0

보인다 :

int getAffinityCount() 
{ 
    DWORD64 dwProcessAffinity, dwSystemAffinity; 
    GetProcessAffinityMask(GetCurrentProcess(), &dwProcessAffinity, &dwSystemAffinity); 
    return __popcnt64(dwProcessAffinity); 
} 
+0

'GetProcessAffinityMask()'는 Windows 전용이므로이 솔루션은 다른 플랫폼으로 이식 할 수 없습니다. –

+0

내 제목대로 Windows 솔루션을 찾고 있습니다. – Tyson