🤯 Load Average: Почему 1.0 — это не всегда 100% CPU?
Мы видим в htop параметр Load Average: 4.0 (на 4 ядрах). Новички думают: "Ага, процессор загружен на 100%!". Сеньоры знают: "Не факт. Возможно, это диск умирает".
В чем подвох: В Linux в расчет Load Average (LA) попадают процессы в двух состояниях:
R (Running/Runnable): Реально считают на CPU или стоят в очереди к нему.
D (Uninterruptible Sleep): Ждут ввода-вывода (Disk I/O, Network NFS).
Аналогия с кассой:
Состояние R: Очередь людей к кассе. Кассир (CPU) работает на износ.
Состояние 😧 Кассир свободен, но покупатель ушел взвешивать бананы и не возвращается. Очередь стоит и ждет его. CPU простаивает (iowait), но LA растет!
Как отличить? Смотрите в vmstat 1.
Колонка r (run): Высокая? Проблема в CPU (код).
Колонка b (blocked): Высокая? Проблема в Диске/IO.
Не меняйте процессор, если у вас тормозит жесткий диск.
#linux #kernel #loadaverage #performance #theory #interview
Мы видим в htop параметр Load Average: 4.0 (на 4 ядрах). Новички думают: "Ага, процессор загружен на 100%!". Сеньоры знают: "Не факт. Возможно, это диск умирает".
В чем подвох: В Linux в расчет Load Average (LA) попадают процессы в двух состояниях:
R (Running/Runnable): Реально считают на CPU или стоят в очереди к нему.
D (Uninterruptible Sleep): Ждут ввода-вывода (Disk I/O, Network NFS).
Аналогия с кассой:
Состояние R: Очередь людей к кассе. Кассир (CPU) работает на износ.
Состояние 😧 Кассир свободен, но покупатель ушел взвешивать бананы и не возвращается. Очередь стоит и ждет его. CPU простаивает (iowait), но LA растет!
Как отличить? Смотрите в vmstat 1.
Колонка r (run): Высокая? Проблема в CPU (код).
Колонка b (blocked): Высокая? Проблема в Диске/IO.
Не меняйте процессор, если у вас тормозит жесткий диск.
#linux #kernel #loadaverage #performance #theory #interview