부하 평균: 세 숫자의 의미
VPS 등급에서 부하 평균을 올바르게 읽는 방법, CPU가 유휴 상태인데도 부하가 높을 수 있는 이유, 실제로 조치가 필요한 시점을 설명해요.
업데이트 2026년 8월 23일
uptime 명령과 htop 상단 줄에는 세 개의 숫자가 표시됩니다. 1분, 5분, 15분 동안의 평균 부하예요. 리눅스에서 가장 오해받는 지표인데, 흔히 CPU 부하와 혼동되곤 하죠.
실제로 무엇인가
평균 부하는 CPU에서 연산 중이거나 디스크를 기다리는 프로세스 수의 평균입니다. 두 번째 요소가 혼란을 만드는 원인이에요. 열두 개 프로세스가 전부 디스크를 기다리며 대기 중이라면, CPU는 거의 놀고 있는데도 부하가 12로 표시될 수 있습니다.
uptime
# 14:22:03 up 9 days, 2:41, 1 user, load average: 3.41, 2.02, 1.15
cat /proc/loadavg
nproc # how many cores your plan has
정상 범위는 코어 수에 따라 다릅니다
경험 법칙은 간단해요. 부하가 코어 수와 같으면 대기열 없이 꽉 찬 상태라는 뜻입니다.
| 티어 | 코어 | 여유 | 바쁨 | 대기 발생 |
|---|---|---|---|---|
| VDS-1 | 1 | 최대 0.7 | 약 1 | 2 초과 |
| VDS-2 | 2 | 최대 1.4 | 약 2 | 4 초과 |
| VDS-3 | 4 | 최대 2.8 | 약 4 | 8 초과 |
| VDS-4 | 6 | 최대 4 | 약 6 | 12 초과 |
| VDS-5 | 8 | 최대 5.5 | 약 8 | 16 초과 |
| VDS-6 | 10 | 최대 7 | 약 10 | 20 초과 |
세 숫자는 추세로 읽어요. 5.0, 2.0, 1.0 — 부하가 방금 올라간 경우로, 직접 무언가를 시작했기 때문일 수 있어요. 1.0, 2.0, 5.0 — 최고점이 지나고 기계가 부하를 내리는 중입니다. 비슷하게 큰 숫자 세 개 — 지속적인 과부하이며, 바로 이 경우를 고쳐야 합니다.
다음으로 볼 곳
높은 부하는 증상이지 진단이 아니에요. 원인을 나눠서 살펴보세요.
vmstat 2 5
r열(실행 대기 중인 프로세스)이 크고us/sy가 높다면 — CPU 한계에 도달한 것입니다. htop에서 원인을 찾아보세요.b열이 크고wa가 높다면 — 디스크 한계에 도달한 것입니다. 다음은 iostat와 iotop입니다.si/so가 증가한다면 — 스왑이 진행 중이라는 뜻으로, 메모리가 부족하다는 의미예요. 메모리와 스왑을 참고하세요.
htop에서 상태가 D인 프로세스가 바로 I/O를 기다리며 평균 부하를 끌어올리는 주범입니다.
상위 티어로 옮길 때가 된 시점
프로젝트 빌드, 패키지 업데이트, 야간 백업 중의 일회성 급등은 무시하세요. 진짜 신호는 이렇게 나타납니다. 제어판 /hosting/vds/m/<id>의 주간 CPU 그래프에서 고원이 유지되고, 평균 부하가 코어 수를 꾸준히 넘고, 원인이 잊고 있던 스크립트가 아니라 실제 운영 중인 애플리케이션이라면요. 그럴 때 상위 티어로 이동하는 게 합리적입니다. 상향 이동만 가능하며, 결제한 기간의 남은 날짜에 대한 추가 요금이 발생해요.
흔한 실수
- 부하를 100%와 비교하기. 평균 부하는 백분율이 아니에요. VDS-3에서 값 4는 꽉 찬 상태를 뜻하지, 재앙이 아닙니다.
- 첫 번째 숫자만 보기. 1분 평균은 사소한 일에도 요동쳐요. 판단은 15분 값을 기준으로 합니다.
- 노드의 이웃을 잊기.
vmstat의st(steal) 열은 하이퍼바이저가 가져간 시간을 보여줘요. 이 값이 꾸준히 높다면 지원팀에 문의할 이유가 됩니다 — 여러분의 문제가 아니에요.
평균 부하는 메모리에 대해 아무것도 알려주지 않아요. 기계가 0.2를 표시하면서도 OOM 킬러가 발동하기 바로 한 걸음 전일 수 있습니다.