htop 미터에는 >90%가 표시되는데 표에는 0.0%로 표시되는 이유는 무엇입니까?

htop 미터에는 >90%가 표시되는데 표에는 0.0%로 표시되는 이유는 무엇입니까?

화면 상단의 진행률 표시기에는 htopCPU 사용량이 항상 90% 이상으로 표시되는 반면, 아래 표의 숫자에는 CPU 사용량 및 로드 평균이 0.0%로 시스템이 거의 유휴 상태인 것으로 표시되는 이유는 무엇입니까?

부분 htop 화면 캡처

답변1

htop커널 수준의 가상화 환경에서 실행되고 있는지 몰랐습니다(드림 호스트 VPS사용 중가상 서버기술). 그런 다음 운영 체제 인스턴스뿐만 아니라 동일한 코어를 공유하는 모든 운영 체제 인스턴스에 대한 CPU 사용량을 표시합니다.

보세요vtop출력에는 컨테이너의 프로세스뿐만 아니라 CPU를 공유하는 모든 프로세스가 표시됩니다.

vtop고객이 다른 고객이 실행 중인 프로세스를 확인하고 싶지 않기 때문에 상용 솔루션에 바람직할 수 있는 설치되지 않은 경우 top커널 통계 대신 CPU 사용량을 계산하도록 소스를 패치하지 않는 한 컨테이너 내부에서 문제를 해결할 수 없습니다. 얻다.

가상 서버에서 실행 중인 모든 프로세스의 CPU 사용량을 요약하여 이를 수행할 수 있습니다. 예를 들면 다음과 같습니다.

ps aux | awk '
    {cpu+=$3; ram+=$6} 
    END {printf("cpu: %d%%, RAM: %.2f MiB\n",cpu,ram/1024) }'

답변2

이러한 불일치는 일반적으로 커널 스레드의 프로세서 사용량이 높음을 나타내며 htop이 정보는 기본적으로 표시되지 않습니다. 표시하려면 으로 이동 htopSetup다음 Display options으로 이동하여 선택을 취소하세요 Hide kernel threads. 이를 통해 책임 있는 스레드를 볼 수 있습니다.

hide_kernel_threads을 0 으로 설정하여 이 동작을 비활성화 할 수도 있습니다 ~/.htoprc.

답변3

htop시작을 사용해 보십시오 sudo. 테이블의 활성 스레드를 보려면 루트 액세스 권한이 필요합니다.

관련 정보