top
CloudWatch 모니터링은 평균 CPU 사용량이 40 % 인 반면, 피크 시간 동안 약 20 %의 평균 CPU 사용량을 보여줍니다. 이 불일치의 원인은 무엇입니까?
top
CloudWatch 모니터링은 평균 CPU 사용량이 40 % 인 반면, 피크 시간 동안 약 20 %의 평균 CPU 사용량을 보여줍니다. 이 불일치의 원인은 무엇입니까?
답변:
아주 좋은 관찰과 우리도 이것에 부딪쳤다. 내가 찾은 것은 다음과 같습니다.
EC2 인스턴스 내에서 CPU 사용량을주의해서 측정하십시오. CPU 사용량을 100 % 미만으로 볼 수 있지만 여전히 최대로 사용할 수 있습니다. 날 믿어. (CloudWatch CPUUtilization은 인스턴스 외부에서 측정되며 항상 정확합니다.)
https://axibase.com/news/ec2-monitoring-the-case-of-stolen-cpu/에 전체 내용이 아주 잘 설명되어 있습니다.
위의 예에서 m1.small EC2 인스턴스에는 0.4 프로세서 유닛이 할당되었으므로 40 % CPU 사용률은 기본 코어의 사용률을 의미합니다. 그러나이 VM에 할당 할 수있는 최대 CPU 점유율은 40 %이므로 유효 CPU 사용량은 40 % / 40 % = 100 %입니다. CloudWatch가 표시하는 번호입니다.
40 %가 어디에서 오는지 궁금하다면 수학은 매우 간단합니다. m1.small Linux 시스템은 1.0–1.2 GHz 2007 Opteron 또는 2007 Xeon 프로세서와 동등한 CPU 용량을 제공하는 1 EC2 컴퓨팅 장치를 사용할 수 있습니다. VM은 2.6GHz 클럭 속도의 머신에서 실행되므로이 특정 XEN 노드에서 프로세서 점유율은 38.4 % – 46.2 %입니다. cat / proc / cpuinfo 명령을 실행하여 EC2 인스턴스 뒤의 CPU 아키텍처를 찾을 수 있습니다.
특수 수학에 대해 모르는 도구를 다루는 방법에 대한 힌트에 특히주의하십시오.
CloudWatch와 통합되지 않은 기존 에이전트 또는 SNMP 기반 모니터링 도구를 개선하는 데 사용할 수있는 또 다른 옵션은 CPU 유휴 메트릭을 사용하는 것입니다. CPU 사용률 대신 CPU 유휴를 측정하기 위해 규칙을 다시 작성하기 만하면됩니다. 예를 들어 CPU 사용률에 대해 75 % 초과의 임계 값이 정의되어 있으면 CPU 유휴에 대한 <25 % 규칙을 작성하십시오. CPU 유휴 상태가 0이면 서버는 CPU 바운드입니다.
매우 간단합니다. 아주 좋아요
EC2 인스턴스 내에서 상위를 실행하면 인스턴스 및 기타를 실행하는 물리적 코어 머신의 CPU 사용량이 측정됩니다. 인스턴스의 CPU 사용량 (인스턴스에 할당 된 EC2 컴퓨팅 단위)을 측정하려는 경우이 사용량이 올바르지 않습니다.
클라우드 워치 지표는 인스턴스에만 할당 된 EC2 컴퓨팅 유닛에 대해 인스턴스 외부에서 측정되기 때문에 실제 이유입니다.
여기를 참조하십시오-https: //forums.aws.amazon.com/thread.jspa ? threadID=99993