Load average - що це таке, колекція електронних книг, навчальних аудіо-відеоматеріалів

Load average - Що це таке?

Спостерігаючи висновки таких команд, як top. htop. uptime. w і, можливо, інших, користувач напевно звертав увагу на рядок load average:

Load average - що це таке, колекція електронних книг, навчальних аудіо-відеоматеріалів

Спробуємо розібрати сенс цих чисел ... Отже, простіше кажучи, числа відображають кількість блокуючих процесів в черзі на виконання в певний часовий інтервал, а саме 1 хвилина, 5 хвилин і 15 хвилин, відповідно. Поняття блокуючих процесів зазвичай добре висвітлюють останнім часом, коли розповідають про nginx. 🙂 В даному випадку, блокуючий процес - це процес, який очікує ресурсів для продовження роботи. Як правило, відбувається очікування таких ресурсів, як центральний процесор, дискова підсистема введення / виводу або мережева підсистема введення / виводу.

Високі значення показників load average говорять про те, що система не справляється з навантаженням. Якщо мова йде про цільове сервері, що працює під високим навантаженням, то зазвичай корисно провести тонке налаштування операційної системи (мережева підсистема, обмеження на кількість одночасно відкритих файлів тощо). Високе завантаження також може бути викликана апаратними проблемами, наприклад, виходом з ладу накопичувача.

Для діагностики звернемося до інших корисних даними, наданим висновком top. Рядок Cpu (s) містить інформацію про розподіл процесорного часу. Перші два значення безпосередньо відображають роботу CPU з обробки процесів:

Load average - що це таке, колекція електронних книг, навчальних аудіо-відеоматеріалів

Затяжні високі (99-100%) показники вказують на ЦП як на вузьке місце.

Параметр wa говорить про просте, пов'язаних з введенням / висновком:

Load average - що це таке, колекція електронних книг, навчальних аудіо-відеоматеріалів

Вище 80% вважається не зовсім нормальним і явно вказує нам на те, що процесор проводить дуже багато часу в очікуванні введення / виведення (зазвичай це означає, що виходить з ладу HDD або NIC).

Якщо ж обладнання в порядку і ЦП швидкий, швидше за все, проблема в ПО. Проблемне додаток можна відловити за допомогою ps axfu. Отриманий висновок надасть список процесів, а також потрібну інформацію: споживання процесора, пам'яті, стан, ну і безпосередньо інформацію, що ідентифікує процес (PID і команду). До слова про стани процесів. Типовими станами процесів є наступні три (повний список доступний на сторінці керівництва man ps

  • S - так званий стан сну;
  • R - стан виконання;
  • D - стан очікування.

Останнє якраз те, що ми шукаємо. Подальшу налагодження можна проводити озброївшись iostat. systat (FreeBSD), strace. iperf. але це вже тема іншої статті.

Високих uptime, низьких load average, ну і звичайно ж удачі! 🙂