서버 CPU 사용률 급등 원인 찾기
최종 업데이트: 2026-06-24
CPU 사용률이 갑자기 치솟으면 응답이 느려지고 장애로 이어집니다. 핵심은 "무엇이 CPU를 쓰는가"와 "왜 그런가"를 빠르게 좁히는 것입니다.
1) 어떤 프로세스가 쓰는지
top -o %CPU # 상위 CPU 프로세스 ps -eo pid,comm,%cpu --sort=-%cpu | head
2) CPU가 아니라 대기(iowait)일 수도
load average 는 높은데 CPU 사용률은 낮다면, 디스크 I/O 대기(iowait)일 가능성이 큽니다. CPU를 늘려도 해결되지 않습니다.
uptime # load average (1·5·15분) vmstat 1 5 # wa(iowait) 열 확인
흔한 원인
- 트래픽 급증: 정상적인 부하 증가 — 스케일 아웃/업 검토.
- 비정상 프로세스: 크립토 마이닝 등 침해. 낯선 고-CPU 프로세스는 의심하세요.
- 애플리케이션 무한루프/비효율 쿼리: 특정 배포 직후 시작됐다면 코드 변경이 유력.
- GC 폭주: 자바/노드 등 메모리 부족으로 GC가 CPU를 태우는 경우.
핵심은 "언제부터·무엇과 함께"
급등 시점에 배포가 있었는지, 트래픽·메모리·디스크가 같이 움직였는지를 보면 원인이 빨리 좁혀집니다. 지표를 따로따로 보면 시간이 오래 걸립니다.
Sentibel로 보면
Sentibel은 CPU·메모리·디스크·프로세스를 함께 수집하고, 급등 시점을 기준으로 7계층 지표의 인과관계를 추적합니다. "CPU 급등이 트래픽 때문인지, 특정 프로세스 때문인지, 디스크 대기 때문인지"를 한 화면에서 좁힐 수 있고, 낯선 고-CPU 프로세스(크립토재킹 등)는 보안 계층에서 별도로 탐지합니다.