Jak działa system load average w Linux i dlaczego „wysokie CPU” nie zawsze oznacza problem
W systemie Linux jednym z najczęściej mylonych wskaźników wydajności jest load average. Wielu użytkowników zakłada, że oznacza on „użycie CPU”, ale w rzeczywistości opisuje coś znacznie szerszego — kolejkę procesów czekających na wykonanie.
Czym jest load average w Linux
Load average to:
- średnia liczba procesów gotowych do działania lub czekających na zasoby
- wskaźnik obciążenia systemu w czasie
- wartość liczona dla 1, 5 i 15 minut
👉 Nie pokazuje bezpośrednio użycia CPU, tylko „presję na system”.
Jak Linux liczy obciążenie systemu
- procesy aktywne na CPU
- procesy czekające na CPU
- procesy czekające na operacje I/O (dysk, sieć)
Jeśli proces:
- działa → liczy się do load
- czeka na dysk → też liczy się do load
👉 Dlatego load to nie tylko CPU, ale cały „system bottleneck”.
Różnica między CPU usage a load average
CPU usage:
- pokazuje, ile CPU jest aktualnie używane
- np. 90% CPU = procesor prawie pełny
Load average:
- pokazuje liczbę procesów w kolejce
- może być wysoki nawet przy niskim CPU
👉 Kluczowa różnica: CPU = wykorzystanie, load = kolejka.
Dlaczego load może być wysoki mimo niskiego CPU
To jeden z najczęstszych błędów interpretacyjnych.
Przyczyny:
1. Problem z dyskiem (I/O wait)
- procesy czekają na odczyt/zapis
- CPU jest wolny, ale system „stoi”
2. Duża liczba procesów
- wiele lekkich zadań jednocześnie
3. Blokady systemowe
- mutexy, locki, synchronizacja
4. Swap
- procesy czekają na dane z dysku zamiast RAM
👉 System jest „zajęty czekaniem”, nie obliczeniami.

Jak interpretować 1, 5 i 15 minutowy load
W Linux load average pokazuje trendy:
1 minuta:
- aktualne, krótkoterminowe obciążenie
- szybkie skoki systemu
5 minut:
- stabilizacja obciążenia
- średni stan systemu
15 minut:
- długoterminowe obciążenie
- trend wydajności
👉 Jeśli 1 min jest wysoki, a 15 niski — problem jest chwilowy.
Jak znaleźć procesy powodujące wysokie obciążenie
Aby zdiagnozować load:
1. top / htop
- pokazuje aktywne procesy
2. iostat
- sprawdza obciążenie dysku
3. vmstat
- analiza pamięci i CPU
4. ps aux
- lista procesów i ich zużycie
👉 W Linux diagnoza zawsze zaczyna się od sprawdzenia, czy problem to CPU, RAM czy I/O.
Podsumowanie
Load average w Linux to nie „zużycie CPU”, ale miara kolejki procesów czekających na zasoby systemowe.
Najważniejsze wnioski:
- load = liczba procesów w kolejce, nie CPU
- może rosnąć przez dysk, RAM lub blokady
- CPU usage i load to dwa różne wskaźniki
- 1/5/15 min pokazują trendy obciążenia
- diagnostyka wymaga analizy I/O i procesów
👉 Wniosek końcowy:
wysoki load nie zawsze oznacza, że CPU jest przeciążony — często oznacza, że system czeka na coś innego niż moc obliczeniowa.






