H10. CPU·디스크 임계 초과 대응
Diátaxis: How-to(목표별 가이드) · 대상: 운영자 / 관리자 ← 목차로
서버(시스템) 리소스가 임계를 넘으면 그 위에서 도는 모든 WAS·DB가 함께 느려집니다. 이 문서는 시스템 탭에서 CPU·로드·디스크를 읽고, "지금 무엇이 포화인지"를 가려 대응하는 순서입니다.
시스템 차트의 항목별 임계치는 R2.4 시스템(서버) 차트에 정리돼 있습니다. 대상 서버를 고르는 법은 H1. 모니터링 대상 좁히기를 보세요.
여는 법 — 좌측 메뉴 ▸ 시스템 ▸ (호스트 선택) ▸ 리소스(CPU·메모리·로드) / 디스크 탭

CPU 상세(User/System/IOWait/Steal) 읽기
CPU는 "몇 %인가"보다 무엇으로 쓰이는가가 원인을 가립니다. 세부 CPU 사용률 차트의 항목별 비율을 봅니다.
| 높은 항목 | 의미·다음 점검 |
|---|---|
| User% | 애플리케이션 연산이 CPU를 씀 → 어떤 프로세스/쿼리인지 추적 |
| System% | 커널 오버헤드(컨텍스트 스위칭·시스템콜 과다) |
| IOWait% | CPU가 디스크 I/O를 기다리는 중 → 디스크 절을 먼저 보세요 |
| Steal% | 가상화 환경에서 호스트에 CPU를 빼앗김 → 인프라/클라우드 사양 검토 |
| SoftIRQ% | 인터럽트 폭주(네트워크 패킷 과다 등) |

위 화면이 바로 그 경우입니다 — 전체 CPU는 올라가지만 그 대부분이 **IOWait%(주황)**이고 User%(초록)는 낮게 머뭅니다. 애플리케이션이 일을 많이 해서가 아니라, CPU가 디스크 I/O를 기다리느라 멈춰 있는 것입니다. 이때는 아래 디스크 절을 먼저 봅니다.
참고 "CPU는 높은데 User%는 낮고 IOWait%가 높다"면 CPU가 부족한 게 아니라 디스크가 느린 것입니다. 이때 CPU만 늘리면 해결되지 않습니다.
Load Average 해석
평균 로드는 "일을 시키려고 줄 선 작업의 수"입니다. 1·5·15분 평균으로 봅니다.
- 기준: CPU 코어 수. 로드가 코어 수를 넘으면 처리 능력을 초과한 과부하입니다. (예: 8코어인데 로드 12 → 과부하)
- 1분 값 ≫ 15분 값 → 부하가 증가 추세. 막 치솟는 중이니 원인을 빨리 찾습니다.
- 1분 값 ≪ 15분 값 → 부하가 가라앉는 중. 이미 지나간 피크일 수 있습니다.

위 화면에서 1분 값(보라)이 코어 수(8) 선을 넘어 12까지 치솟고, 5분·15분이 뒤따라 올라옵니다 — 부하가 증가 추세인 과부하입니다. 1분이 가장 먼저, 가장 높이 움직이는 것이 "막 치솟는 중"의 모양입니다.
로드가 높은데 CPU(User/System)는 낮다면, 작업들이 CPU가 아니라 디스크·락 대기로 줄 서 있는 경우가 많습니다. IOWait%와 디스크 차트를 함께 보세요.
디스크 사용량·증가 속도
디스크는 용량과 속도 두 가지로 봅니다.
용량 (디스크 사용량)
- 90% 초과는 위험 — 로그·임시파일이 차오르면 서비스 장애로 직결됩니다.
- 절대값보다 증가 속도가 중요합니다. H2. 기간 바꿔 보기로 최근 추세를 펼쳐, "며칠 안에 100%에 닿을 기울기인지" 가늠합니다.
- **파일 노드수(inode)**도 함께 봅니다 — 여유 공간이 있어도 inode가 소진되면 새 파일을 못 만듭니다(소규모 파일 대량 환경).
속도 (디스크 탭)
- 평균 서비스시간 20ms 초과 또는 평균 대기수 2~3 초과면 디스크가 요청을 못 따라가는 포화 상태입니다.
- 높은 IOPS와 함께 응답시간이 같이 오르면 디스크 병목입니다 → 위 IOWait%와 연결됩니다.

위 화면은 평균 서비스 시간이 정상(~5ms)에서 포화 임계(20ms)를 넘어 30~45ms로 올라간 모습입니다. 디스크가 요청을 제때 처리하지 못하는 포화 상태이며, 앞 절의 IOWait% 상승과 같은 사건의 양면입니다.
디스크 탭: 좌측 메뉴 ▸ 시스템 ▸ 디스크. (
images/08/sys_disks_dark.png)
조치
| 확인된 포화 | 1차 조치 |
|---|---|
| User% 높음(특정 프로세스) | 해당 프로세스/쿼리 추적. WAS면 H6, DB면 DBMS 진단 |
| IOWait%·디스크 포화 | 무거운 I/O 작업(배치·로그) 분산·시간대 조정, 스토리지 IOPS 검토 |
| Steal% 높음 | 가상/클라우드 사양 상향 또는 다른 호스트로 이전 (인프라팀) |
| 디스크 용량 90%+ | 오래된 로그·임시파일 정리, 로그 로테이션 점검, 용량 증설 |
| Swap 사용량 증가 | 물리 메모리 부족 — 메모리 소비 프로세스 점검 또는 RAM 증설 |
주의 CPU·디스크 임계는 이벤트 알림으로도 옵니다. 같은 호스트에서 임계 초과 이벤트가 반복되면 일회성 대응보다 알림 정책·용량 계획으로 다룹니다(H15).
잘 안될 때
| 증상 | 점검 |
|---|---|
| 시스템 탭에 데이터 없음 | 호스트의 시스템 에이전트 연결 상태 — H20. 에이전트 점검 |
| CPU는 높은데 원인 프로세스가 안 보임 | IOWait%/Steal% 비율 먼저 확인 — CPU 외 병목일 수 있음 |
| 임계는 넘는데 서비스는 멀쩡 | 순간 피크일 수 있음 — 기간을 넓혀 지속성 확인 (H2) |
관련 문서
- R2.4 시스템(서버) 차트 — CPU·로드·디스크·네트워크 임계치
- H6. 느린 트랜잭션 원인 찾기 · H8. DB 커넥션 풀 고갈
- H15. 알림 정책 만들기 — 임계 초과를 알림으로 받기
- H14. AI로 차트·이벤트 분석 받기