CPU가 하나만 있는 Linux 서버에 대해 "top" 명령이 두 개의 다른 값을 표시하는 이유는 무엇입니까? 멀티 코어 프로세서가 있으면 다를 수 있다는 점을 이해하지만 이 경우에는 CPU가 하나만 있는 AWS LightSail $5 인스턴스를 사용하고 있습니다 512 MB RAM, 1 vCPU, 20 GB SSD
.
Amazon 콘솔에서는 CPU 사용량이 10%를 넘지 않지만 애플리케이션이 다운된 것으로 표시됩니다. 사용량을 보니 거의 100% 사용량이더군요.
왜 이런 일이 발생합니까? VM 사용률을 측정하려면 어떤 값을 고려해야 합니까?
답변1
%Cpu(s) 라인에서맨 위CPU 사용량을 범주로 나눕니다.
us, user : time running un-niced user processes
sy, system : time running kernel processes
ni, nice : time running niced user processes
id, idle : time spent in the kernel idle handler
wa, IO-wait : time waiting for I/O completion
hi : time spent servicing hardware interrupts
si : time spent servicing software interrupts
st : time stolen from this vm by the hypervisor
사용된 CPU는 모든 값을 합산하여 구성됩니다. 이 경우에는 다음을 의미합니다.
7.3 + 0.0 + 0.0 + 4.3 + 0.0 + 0.0 + 88.3 =99,9
Amazon LightSail에서는이 다른 답변에 설명 된대로, "LightSail은 vCPU의 모든 기능을 항상 사용하도록 허용하지 않으므로 제한되었습니다."
제 생각에는 그렇게 명확하지 않으며 총 CPU 값이 있어야 합니다.맨 위하지만 안타깝게도 그렇지 않습니다.
"htop"이라는 다른 프로그램을 사용할 수 있습니다(서버에 설치). 예를 들어 코어당 총 CPU 사용량과 같은 정보를 훨씬 더 편안하게 표시합니다.
다음과 같습니다:
답변2
스크린샷의 세 번째 줄 끝을 보면 CPU 시간의 88.3%가 호스트 시스템에 의해 '훔쳐가고' 있습니다. 이는 애플리케이션이 짧은 활동 폭주 이상으로 많은 CPU 시간을 사용하기 때문일 수 있습니다. LightSail에서는 vCPU의 성능을 항상 모두 사용할 수 없으므로 제한되어 있습니다. 귀하의 애플리케이션은 남은 것의 94.4%를 사용하고 있습니다.
최고의 해석 출처:https://linuxaria.com/howto/understanding-the-top-command-on-li LightSail 리소스 사용량 소스:https://aws.amazon.com/lightsail/faq/