로그인 입점하기
← 가이드 목록
시작하기

Load Average란? Linux 서버의 1분·5분·15분 숫자가 의미하는 것 쉽게 이해하기

Load Average는 CPU 사용률 %가 아니라 1·5·15분 동안 실행·대기 작업의 평균 부하 지표입니다. Core 수와 함께 읽는 법, I/O로 Load만 높은 경우까지 초보 기준으로 정리합니다.

Load Average란? Linux 서버의 1분·5분·15분 숫자가 의미하는 것 쉽게 이해하기

Linux에서 `load average: 1.20, 3.50, 8.10`을 보면 CPU 사용률 %처럼 보이기 쉽습니다. 하지만 Load Average는 CPU 사용률이 아닙니다. 일정 시간 동안 실행 중이거나 실행 기회를 기다리는 작업의 평균적인 수를 보여주는 부하 지표입니다. Linux에서는 Runnable뿐 아니라 일부 Uninterruptible Sleep(I/O 대기 `D` 상태)도 포함될 수 있습니다.

load average: 1.20, 3.50, 8.10
→ 최근 1분 · 5분 · 15분
≠ CPU 1.20% / 3.50% / 8.10%

계산대 비유 · Core 수와 함께 읽기

계산대 4개에 손님 4명이면 대기 없이 처리합니다. 손님이 8명이면 4명은 계산 중·4명은 기다립니다. CPU 4 Core에 실행하려는 작업이 8개면 비슷합니다. Load `1`이 높은지 낮은지는 Logical CPU(Core) 수와 함께 봐야 합니다. 1 Core에서 Load 2는 경쟁이 클 수 있고, 8 Core에서 Load 2는 여유가 있을 수 있습니다. 같은 Load 8도 2 Core·8 Core·32 Core에서 의미가 다릅니다.

출발점: Load ÷ Logical CPU 수
4 Core + Load 2 → 상대적으로 여유
4 Core + Load 8 → CPU 대기 의심 (단정 금지)
1분 5분 15분 Load Average와 계산대 비유, CPU Usage와 Load의 차이
1·5·15분 추세 · 계산대(Core) 대비 손님(Task) · CPU % ≠ Load

1·5·15분 추세 · CPU Usage와의 차이

세 숫자는 단순 산술 평균보다 최근 상태에 무게가 실린 지수 이동 평균 계열입니다. 공식보다 증가·감소 흐름이 중요합니다. `10, 3, 1`은 최근 Spike, `1, 5, 10`은 완화, `8, 8.2, 8.1`은 지속 부하에 가깝습니다. CPU Usage는 「명령어를 얼마나 바쁘게 실행했는지 %」이고 Load는 「실행·관련 대기 작업 수에 가까운 부하」입니다. 1 Core에서 A만 있어도 CPU 100%·Load≈1일 수 있고, B가 추가되어도 CPU는 100%인데 Load≈2로 올라갈 수 있습니다. 포화 뒤 얼마나 더 기다리는지를 Load가 보여 줍니다.

CPU Low + Load High · I/O · Uninterruptible Sleep

Linux Load에는 Uninterruptible Sleep(`D`)이 포함될 수 있어, CPU 20%인데 Load 20인 상황이 납니다. Disk·Storage가 느리면 많은 Process가 I/O를 기다리며 Load만 커집니다. 이때 Core만 Scale Up해도 해결되지 않을 수 있습니다. Load 높음 → CPU? Disk? Network Storage?를 나누고, CPU Usage·I/O Wait·Run Queue·Disk Latency·Process 상태·서비스 Latency를 함께 봅니다. CPU Scheduling·Resource Contention과도 이어집니다.

Load High + CPU High → CPU Saturation 의심
Load High + CPU Low  → I/O · Kernel Wait 확인
Load Low + Latency 높음 → DB·API·Single-Thread 병목 가능

서비스 목표 · Queue · Worker · Auto Scaling

Batch는 Core 근처 Load가 정상에 가깝고, Web은 포화 시 Tail Latency가 급증할 수 있습니다. Capacity에 가까워질수록 Queueing Theory처럼 대기가 커집니다. Runnable·Worker가 과도하면 Context Switching·Cache 경쟁이 늘고, Worker를 줄였는데 빨라지기도 합니다. Cron이 한순간에 몰리면 Spike가 납니다 — 시작 시각 분산·Jitter. Auto Scaling에 Load만 쓰면 Disk 장애 때 서버만 늘려 Storage를 더 압박할 수 있습니다. Container·K8s는 Host Load와 Pod Quota를 구분해야 합니다. OS Load ≠ Application Queue — Thread Pool·Request Queue도 함께 봅니다(Starvation).

초보 FAQ

세 숫자는?

최근 1분·5분·15분 Load입니다. `uptime`·`top`에서 볼 수 있습니다.

Load 4 = CPU 400%?

아닙니다. %가 아닙니다. Core 수·I/O·Latency와 함께 봅니다.

Alert는?

모든 서버에 `Load > 5` 고정은 위험합니다. Core 대비·지속 시간·CPU·Latency·Error Rate를 조합합니다. 서버 모니터링·503과도 연결됩니다.

SEO와 직접 관련?

SEO 전용 지표는 아닙니다. 과부하로 Timeout·5xx가 늘면 접근성·UX에 간접 영향이 있을 수 있습니다.

정리

Load Average ≠ CPU 사용률 %입니다. 1·5·15분으로 부하 추세를 보고, 숫자는 반드시 CPU Capacity와 함께 해석합니다. Load 높음만으로 CPU Scale Up을 단정하지 말고 Usage·Disk I/O·Process·서비스 Latency를 확인합니다. `top` 화면에서 CPU는 하나의 %가 아니라 `user`·`system`·`idle`·`iowait`처럼 나뉩니다. 「100%」가 사용자 프로그램 계산인지, Kernel인지, I/O 대기인지에 따라 의미가 달라집니다. 이처럼 CPU 시간이 어떤 종류의 작업에 쓰이는지 구분해서 보는 것을 이해하려면 먼저 CPU Utilization(프로세서 사용률)이 무엇인지 알아야 합니다.