Overview
서버나 시스템을 모니터링할 때 가장 먼저 확인하는 숫자 중 하나가 바로 Load Average다.
특히 top, uptime, htop 같은 커맨드에서 1분, 5분, 15분 평균값으로 나오는 세 개의 숫자가 익숙할 것이다.
하지만 이 숫자가 CPU 사용률과 같다고 생각한다면 오해다.
“숫자가 2면 CPU가 200% 쓰인다는 뜻인가요?”, “로드가 5면 무조건 과부하인가요?” 같은 질문은 지금도 자주 들리는 오해다.
이번 글에서는 Load Average의 정확한 의미, 해석 방법, 그리고 실무에서의 기준선 설정 방법까지 하나씩 짚어본다.

📅 관련 글
2023.01.13 - [CS 지식] - [CS 지식1.] 웹 브라우저의 동작원리
2023.02.23 - [CS 지식] - [CS 지식2.] DNS의 동작원리(Domain Name System)
2023.03.06 - [CS 지식] - [CS 지식3.] HTTP / HTTPS 란?
2023.03.07 - [CS 지식] - [CS 지식4.] OSI 7계층 & TCP/IP 4계층이란?
2023.03.17 - [CS 지식] - [CS 지식5.] 가상화란?
2023.05.24 - [CS 지식] - [CS 지식6.] HTTP 메서드(Method)란? / HTTP Status Code
2023.12.05 - [CS 지식] - [CS 지식7.] Kubernetes 구성요소와 Pod 생성 방식이란?
2023.12.19 - [CS 지식] - [CS 지식8.] 프로세스(Process)와 스레드(Thread)란?
2023.12.30 - [CS 지식] - [CS 지식9.] 클라우드 컴퓨팅이란?(Public & Private Cloud / IaaS SaaS PaaS / Multitenancy)
2024.01.05 - [CS 지식] - [CS 지식10.] 웹1.0(Web1.0) vs 웹2.0(Web2.0) vs 웹3.0(Web3.0)
2024.02.02 - [CS 지식] - [CS 지식11.] NAT(Network Address Translation)란?
2024.05.22 - [CS 지식] - [CS 지식13.] 동기 및 비동기 처리란?
2024.05.23 - [CS 지식] - [CS 지식14.] 3tier 아키텍처란?
2024.08.28 - [CS 지식] - [CS 지식15.] SSR vs CSR vs ISR vs SSG
2024.11.09 - [CS 지식] - [CS 지식16.] stdin(표준입력) vs stdout(표준출력) vs stderr(표준에러)
2024.11.11 - [CS 지식] - [CS 지식17.] IPsec vs SSL/TLS
2024.11.22 - [CS 지식] - [CS 지식18.] Quantum Computing(양자 컴퓨팅)
2025.04.01 - [CS 지식] - [CS 지식19.] C/C++ 개발자도 다시 보는 메모리 구조
2025.04.02 - [CS 지식] - [CS 지식20.] OS 캐시와 디스크 I/O: MySQL, Redis 퍼포먼스 분석
2025.04.02 - [CS 지식] - [CS 지식21.] top에 나오는 load average, 진짜 뜻은?
Load Average란?
Load Average는 일정 시간 동안 실행 중이거나, 실행을 기다리는 프로세스의 평균 개수를 의미한다.
즉, 시스템이 얼마나 ‘바쁜 상태’였는지를 나타내는 지표다.
$ uptime
10:00:00 up 5 days, 2:13, 1 user, load average: 0.82, 0.93, 1.01
이 출력은 각각 다음을 의미한다.
- 1분 평균 로드: 0.82
- 5분 평균 로드: 0.93
- 15분 평균 로드: 1.01
Load Average는 어떻게 계산될까?
Load Average는 단순한 평균이 아닌, 지수 이동 평균(Exponential Moving Average) 으로 계산된다.
즉, 최근 데이터에 가중치를 두고 계산되기 때문에 변화에 민감하게 반응한다.
- 1분 평균 → 가장 최근 변화에 민감
- 15분 평균 → 완만한 추세 확인용
이 덕분에 갑작스러운 부하 증가와 지속적인 부하 상태를 쉽게 비교할 수 있다.
Load Average의 구성 요소
Load Average는 단순한 CPU 사용률이 아니라, 다음 3가지 상태의 프로세스 수를 기준으로 계산된다.
| 상태 | 포함 여부 | 설명 |
| Running | 포함 | 실행 중인 프로세스 |
| Runnable | 포함 | CPU 할당을 기다리는 프로세스 |
| I/O Wait | 포함 (Linux만) | I/O 대기 중인 프로세스 (e.g., 디스크/네트워크) |
| Sleeping / Idle | 미포함 | 아무 작업도 안 하는 상태 |
즉, Load Average는 ‘당장 CPU를 쓰고 있거나, 쓰려고 대기 중인 프로세스’가 얼마나 많았는지를 의미한다.
Load Average vs CPU 사용률
| 항목 | Load Average | CPU 사용률 |
| 의미 | 시스템 전체의 작업량 | CPU가 실제로 일한 비율 |
| 포함 요소 | 실행 중 + 대기 중 프로세스 수 | CPU 시간(%) |
| 단위 | 프로세스 개수 | 퍼센트(%) |
| 예시 | 로드 2.00 = 2개 프로세스가 동시에 실행 중 | CPU 사용률 80% = 80% 시간동안 바쁨 |
실전에서 흔히 생기는 오해들
- “Load Average는 CPU 사용률이다” → ❌ 아님! 프로세스의 수 (대기 포함)
- “Load가 2면 CPU가 200% 사용된 것” → ❌ CPU 코어 수를 고려해야 함
- “로드가 높으니 서버 성능이 나쁘다” → ❌ I/O 병목이 원인일 수 있음
기준점은 몇이 적정한가?
기준은 CPU 코어 수를 기준으로 판단해야 한다.
예를 들어:
- 2코어 시스템에서 Load Average = 2.00 → CPU가 꽉 찼음 (정상)
- Load = 4.00 → 평균 2개가 CPU를 기다리고 있는 상태 (혼잡)
- 1코어 시스템에서 Load = 0.70 → 여유 있음
즉, Load Average ≤ CPU Core 수 → 정상 범위
Load Average ≫ CPU Core 수 → 과부하 가능성
실무에서의 해석 팁
점검 포인트
- 급격한 상승 여부: 1분 평균이 5분/15분보다 높다면 급격한 부하 증가
- 일관된 고부하: 15분 평균이 꾸준히 높다면 지속적인 병목
- I/O wait 포함 여부: 디스크 병목인지 CPU 병목인지 구분 필요 (`iostat`, `vmstat` 활용)
모니터링 예시
- `top`, `uptime`, `htop`, `grafana`, `prometheus.node_exporter` 등에서 실시간으로 확인 가능
- Prometheus 쿼리 예시
node_load1 / count(node_cpu_seconds_total{mode="idle"})
Kubernetes에서 Load Average는 어떻게 쓰일까?
K8s 노드 오토스케일링 시, CPU 사용률 기준 외에도 Load Average 기반 커스텀 매트릭이 적용되기도 한다.
예: Prometheus + KEDA 조합에서 `node_load1 / core` 수를 기준으로 스케일 아웃
실전 예시
$ top
load average: 1.5, 1.2, 1.0
- 4코어 시스템이라면? → 여유 있는 상태
- 1코어라면? → 이미 대기 병목 있음
$ top
load average: 5.0, 4.9, 5.1
- 2코어 시스템이라면? → 과부하 상태이며, 쿼리/배치/IO 등 확인 필요
🔚 마무리: "CPU가 아니라 시스템의 줄 서는 길이"

Load Average는 단순한 CPU 사용률이 아닌,
‘얼마나 많은 프로세스가 CPU나 자원 할당을 기다렸는가’ 를 보여주는 시스템 부하의 간접 지표다.
따라서 단순히 "높다/낮다"로 평가하기보다는,
- CPU 코어 수와 비교 → Load Average가 CPU Core 수보다 지속적으로 높다면 병목 가능성
- 시간 추이 파악 → 1분/5분/15분 평균 간의 흐름을 보면 ‘급등’ vs ‘지속’ 여부 판단 가능
- iowait과의 조합 분석 → CPU 병목인지, 디스크 병목인지 구별해야 정확한 조치 가능
실전에서는 `CPU 사용률 + Load Average + iowait` 를 함께 보면서 병목 지점을 종합적으로 파악하자.
실전 팁
- 단기 스파이크는 무시해도 되지만, 15분 평균 이상 지속되는 고로드는 반드시 원인을 점검해야 한다.
- I/O wait이 함께 높은 경우, 디스크 지연, NFS 병목, 혹은 백업 작업 등이 의심 대상이다.
- Prometheus, Grafana 등으로 트렌드를 시각화해두면 급등 시점과 원인 탐색이 훨씬 쉬워진다.
결론적으로, Load Average는 단순한 숫자가 아니라 "시스템의 숨소리"에 가깝다.
이 수치를 올바르게 읽을 수 있다면, 문제의 조짐을 미리 감지하고 장애를 예방하는 능력을 갖추게 된다.
Reference
- Linux Load Average explained – Brendan Gregg
- The Ultimate Guide to Load Average
- top(1) man page – Linux
- uptime(1) man page – Linux
'CS 지식' 카테고리의 다른 글
| [CS 지식23.] Context Switch 파헤치기 – 컨테이너 성능과 리소스 낭비의 이면 (0) | 2025.09.24 |
|---|---|
| [CS 지식22.] TLS Handshake와 인증서 구조 (0) | 2025.09.10 |
| [CS 지식20.] OS 캐시와 디스크 I/O: MySQL, Redis 퍼포먼스 분석 (3) | 2025.08.13 |
| [CS 지식19.] C/C++ 개발자도 다시 보는 메모리 구조 (3) | 2025.07.30 |
| [CS 지식18.] Quantum Computing(양자 컴퓨팅) (2) | 2024.11.22 |