내 프로그램의 CPU 선호도를 쿼리하고 시스템에서 사용할 수있는 총 CPU 수에서 얼마나 많은 CPU가 할당되어 있는지 찾아야합니다.Win32 C++ : 프로세스 CPU 선호도 가져 오기?
std::thread::hardware_concurrency()
은 선호도를 반영하지 않는 값을 반환합니다. 프로세스 선호도를 쿼리하는 (빠른) 방법이 있습니까? 이 작업처럼
내 프로그램의 CPU 선호도를 쿼리하고 시스템에서 사용할 수있는 총 CPU 수에서 얼마나 많은 CPU가 할당되어 있는지 찾아야합니다.Win32 C++ : 프로세스 CPU 선호도 가져 오기?
std::thread::hardware_concurrency()
은 선호도를 반영하지 않는 값을 반환합니다. 프로세스 선호도를 쿼리하는 (빠른) 방법이 있습니까? 이 작업처럼
보인다 :
이int getAffinityCount()
{
DWORD64 dwProcessAffinity, dwSystemAffinity;
GetProcessAffinityMask(GetCurrentProcess(), &dwProcessAffinity, &dwSystemAffinity);
return __popcnt64(dwProcessAffinity);
}
'GetProcessAffinityMask()'는 Windows 전용이므로이 솔루션은 다른 플랫폼으로 이식 할 수 없습니다. –
내 제목대로 Windows 솔루션을 찾고 있습니다. – Tyson
그것을 할 수없는 휴대용 방법은 없습니다. 그러나 Windows API 함수를 검색해 보면 많은 예제를 찾을 수 있습니다. 그 중 상당수가 여기에 존재할 수도 있습니다. –