다른 인스턴스의 데이터베이스에 행을 삽입하는 ec2 인스턴스에서 Python 스크립트를 실행하고 있습니다. ec2의 모니터링에서 100 % CPU 사용률을 보았지만 top은 python 프로세스의 20 %만을 보여줍니다. 상단에서 무엇이 누락 되었습니까? 네트워크 오버 헤드?
다른 인스턴스의 데이터베이스에 행을 삽입하는 ec2 인스턴스에서 Python 스크립트를 실행하고 있습니다. ec2의 모니터링에서 100 % CPU 사용률을 보았지만 top은 python 프로세스의 20 %만을 보여줍니다. 상단에서 무엇이 누락 되었습니까? 네트워크 오버 헤드?
답변:
노출 된 데이터 top
는 종종 Amazon EC2 와 같은 가상화 된 환경에서 불충분하거나 오해의 소지가 있으며보고 된 비율은 인스턴스 유형 및 기본 프로세서 코어 활용률 (일반적으로 하이퍼 바이저에서 제공하는 가상화 된 하드웨어와 일치하지 않음)에 따라 다릅니다. 다른 것들-당신이보고있는 것은 요즘 대부분의 관련 유닉스 / 리눅스 모니터링 도구에 노출 된 각각의 CPU 도용 시간 으로 인한 것입니다 -예를 들어 열 % steal 또는 st in sar
또는 top
:
st-Steal Time
다른 작업 (예 : 다른 가상 시스템 실행)에 대해 하이퍼 바이저가이 가상 시스템에서 가져온 '도난'CPU 양입니다.
블로그 게시물 EC2 모니터링 : CPU 도난 사례 는이 주제에 대한 훌륭한 탐색과 설명을 제공합니다.
top 명령이 40 % CPU 사용 중을 표시하지만 CloudWatch에서 서버가 100 %로 최대 값을 초과했다고 표시하면 어느 쪽을 선택합니까? 대답은 간단하다 (CloudWatch는 정확하다, 정상은 아니다) [...]
이 하이퍼 바이저 메트릭은 Unix / Linux 시스템에서만 (쉽게) 액세스 할 수있는 것처럼 보이지만 Windows (아직)에서는 볼 수없는 것 같습니다. 내 질문을 참조하십시오. Unix 'CPU 도용 시간'에 해당하는 Windows가 있습니까? 이 문제에 대한 자세한 내용은