"최상위" CPU 번호가 시스템 모니터 및 Conky Process Panel의 CPU 번호와 다른 이유는 무엇입니까?

"최상위" CPU 번호가 시스템 모니터 및 Conky Process Panel의 CPU 번호와 다른 이유는 무엇입니까?

처리량이 많은 동안 노트북 속도가 일시적으로 느려지면 데스크탑의 프로세스 패널에 실제로 표시되는 것보다 더 높은 수치가 표시될 것으로 예상됩니다(CPU 사용량).그리고시스템 모니터에서.

터미널에 top표시된 숫자를 사용하여적법함을 증명하다컴퓨터가 일시적으로 느려집니다. 예를 들어 Firefox가 상대적으로 높은 CPU 리소스("웹 콘텐츠"로 표시됨)를 사용하는 일부 플러그인을 실행할 때 conky 스크립트(Gnome 시스템 모니터와 마찬가지로)는 사용된 CPU 리소스가 약 25%인 반면 top디스플레이에는 약 71%가 표시됩니다. %, PC를 고려하면 더 "현실적"인 것 같습니다.가지다속도가 느려지네요.

여기에 이미지 설명을 입력하세요.

내가 사용하고 있는 conky에서 "실제" 숫자를 어떻게 얻을 수 있나요? top시스템 모니터와 다른 이유는 무엇입니까 ?

conky 스크립트의 중요한 부분은 다음과 같습니다.

${top name 1} $alignr ${top cpu 1}%
${top name 2} $alignr ${top cpu 2}%
${top name 3} $alignr ${top cpu 3}%

등.

답변1

이는 값이 사용 가능한 총 CPU 성능의 백분율이 top아닌 단일 CPU 코어의 백분율로 표시되기 때문입니다 . conky실행 top하고 누르면 I동일한(거의 동일하며 항상 경쟁 조건이 있습니다. topCPU를 폴링하는 데 걸리는 시간이 실제로 실행하는 데 걸리는 시간과 정확히 동일하지 않음 conky) 숫자가 표시됩니다.

이것은 man top(강조 광산)에 문서화되어 있습니다:

  1. %CPU——CPU 사용량

    마지막 화면 업데이트 이후 작업에서 소비한 CPU 시간의 비율로, 총 CPU 시간의 백분율로 표시됩니다.

    실제 SMP 환경에서 프로세스가 다중 스레드이고 top이 스레드 모드에서 실행되지 않는 경우 100%보다 큰 숫자가 보고될 수 있습니다. "H" 대화형 명령을 사용하여 스레딩 모드를 전환할 수 있습니다.

    또한 다중 프로세서 환경의 경우 Irix 모드가 꺼지면 top은 Solaris 모드에서 실행됩니다. 여기서 작업의 CPU 사용량은 총 CPU 수로 나뉩니다. "I" 대화형 명령을 사용하여 Irix/Solaris 모드를 전환할 수 있습니다.

따라서 예제에서 볼 수 있는 것은 topIrix 모드에서 %CPU 값을 단일 CPU의 백분율로 보고하지만 conky이를 사용 가능한 모든 CPU의 백분율로 보고하는 것입니다.

그리고 설명을 위해 이것은 여러 스레드를 사용할 수 있는 top8코어 노트북에서 실행될 때의 Irix 모드 입니다.pigz

PID     USER      PR  NI    VIRT    RES  %CPU  %MEM     TIME+ S COMMAND                                                               
1090509 terdon    20   0  657.6m   4.5m 605.3   0.0   0:33.18 R pigz                                                                  

%CPU가 100보다 얼마나 높은지 확인하세요. 이제 Solaris 모드의 동일한 내용이 표시됩니다.

PID     USER      PR  NI    VIRT    RES  %CPU  %MEM     TIME+ S COMMAND                                                               
1100171 terdon    20   0  657.6m   4.5m  82.0   0.0   1:24.08 S pigz                                                                  

출력을 얻기 위해 명령을 두 번 실행했기 때문에 숫자가 정확히 일치하지는 않지만 대략적인 개념은 볼 수 있을 것입니다.

관련 정보