멀티 코어 시스템의 로드 평균 이해

멀티 코어 시스템의 로드 평균 이해

하나의 마이크로프로세서 장치에 대한 로드 평균 출력은 top1.0 이상이면 대기 중인 작업이 있는 것으로 이해할 수 있습니다. 그러나 논리 코어가 있는 멀티 코어 시스템에 n개의 코어가 있는 경우 l*n(내 Intel CPU에서는 n=6이고 l*n= 12이므로 출력은 nproc12입니다) 로드 평균을 출력으로 나누어서 nproc이 숫자가 1인지 확인 해야 합니까? (평균적으로) 대기 중인 작업이 있는지 알아보기 위해 위의 내용을 사용하거나 htop병렬 멀티 코어 시스템이 평균 로드가 너무 높은지 확인하는 데 사용하는 것이 더 낫습니까?

내 접근 방식이 틀렸다고 생각했지만 로드 평균이 10을 초과하는 것을 보고 결론은 정확했습니다. 어떤 프로세스가 비용이 많이 드는지 확인하고 실행 중인 프로그램이 오버플로된 것을 발견했지만 실제로 머신에 10개 이상의 ps출력이 있으면 nproc실제로는 그렇지 않을 것입니다. 내가 그것에 대해 알고 있었다면 조사해야 할 이유. 동의하시나요?

답변1

귀하의 가정은 정확합니다. 부하 평균을 코어 전체로 나누고 있습니다. 로드 평균을 더 잘 이해하려면 Brendan Gregg의 이 기사를 적극 권장합니다.http://www.brendangregg.com/blog/2017-08-08/linux-load-averages.html

관련 정보