CPU당 로드를 계산하는 방법

CPU당 로드를 계산하는 방법

CPU당 로드를 계산하는 C API가 있습니까? /proc/loadavg사용 가능한 모든 CPU에 대한 CPU 로드 평균이 제공되며 /proc/statCPU당 활성 프로세스에 대한 정보는 언급되지 않습니다.

각 CPU의 로드를 얻는 방법은 무엇입니까?

답변1

"CPU당 로드"와 같은 것은 없습니다.

로드 평균은 시스템 리소스를 기다리는 프로세스 수로 정의됩니다. CPU일 필요는 없습니다. 또한 프로세스가 CPU 시간을 기다리고 CPU에서 적극적으로 실행되지 않을 수 있으므로 프로세스가 고정되지 않은 한 모든 CPU에서 실행될 수 있으므로 이를 특정 CPU에 귀속시킬 수 없습니다.

그러나 각 CPU의 사용률을 얻을 수 있습니다. 사용되며 /proc/stat각 CPU의 4번째 필드는 해당 CPU가 얼마나 유휴 상태인지 확인하는 데 사용됩니다(참조man 5 proc/proc/stat부품).
기본적으로 값을 읽고 1초 동안 휴면한 후 다시 값을 읽고 그 차이를 USER_HZ로 나눕니다.

관련 정보