작성
·
31
0
안녕하세요. BashScript 1부, 2부 강의를 듣고 개인적으로 BashScript를 현업에서 사용 중인 수강생입니다.
개인적으로 공부를 하다가 모니터링을 위해서 Linux top 명령어를 쓰고 있는데 이상한 부분이 있어 질문 남기게 되었습니다. 실습 환경은 다음과 같습니다.
AWS EC2 t3.medium
OS : Amazon Linux 2023
pCPU : 1
Thread/Core : 2
vCPU : 2
해당 환경에서 스트레스 테스트 진행해서 다수의 PostgreSQL이 실행되도록 하였습니다.
그리고 top 명령어의 결과가 수시로 바뀌는 가운데 한 순간을 캡쳐해보았습니다.
의문이 드는 부분은 시스템 %Cpu(s)의 정보와 프로세스의 %CPU의 정보가 불일치 한다는 점입니다.
시스템 %Cpu(s)의 총합은 100.0이며, 사용율은 100.0 - id(idle, 유휴 지표) 이며 프로세스들이 실행됨에 따라서 ui, sy, si, st 등의 주요 지표가 증감하는 것을 볼 수 있었습니다.
실제로는 id 지표가 0.0이므로 순간 CPU 사용율은 100%인 것을 알 수 있었습니다.
프로세스의 %CPU의 총합은 스크린샷에 드러나는 것만 더해도 118.6%에 해당합니다.
따라서 백분율 상으로 초과한 최소 18.6%의 사용율이 어떻게 된 것인지 궁금합니다.
기본적으로 AWS EC2는 멀티스레딩(SMT) 환경에서 작동되기 때문에 발생되는 문제일까요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. unchaptered님.
Linux의 top
명령어에서 보여지는 CPU 사용률과 관련하여 궁금증을 가지실 수 있는 부분에 대해 설명드리겠습니다.
top
명령어에서 나타나는 시스템 %Cpu(s)와 프로세스의 %CPU의 결과가 다르게 보이는 이유는 CPU 사용률 계산 방식에 있습니다.
시스템 %Cpu(s):
100% - idle
로 현재 사용 중인 CPU의 백분율을 보여주기 때문에, 실제로 물리적 코어만큼의 100%를 넘어가지는 않습니다.프로세스의 %CPU:
관련된 기존 답변을 통해 좀 더 자세한 이해를 돕고자 하오니, 아래 링크를 확인해 보시기 바랍니다:
- top 에서 빠져나올 때 PID
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.