nmon у Linux: швидкий моніторинг навантаження сервера

02.03.2026 0 By AdminA

Що таке nmon і навіщо він потрібен

nmon (Nigel’s Monitor) — це компактний інструмент для моніторингу продуктивності Linux-серверів. Він показує ключові метрики у реальному часі: завантаження CPU, використання пам’яті, дискову активність, мережевий трафік, інформацію про процеси та інші показники. nmon зручний тим, що легко запускається в консольному режимі, дозволяє зберігати знімки у файл для подальшого аналізу та має мінімальні залежності.

Встановлення

На типових дистрибутивах установка — проста:

  • Debian/Ubuntu:
    sudo apt update
    sudo apt install nmon
  • RHEL/CentOS/Fedora:
    sudo yum install nmon    # або dnf install nmon
  • Якщо пакета немає в репозиторії, можна завантажити бінарний файл і помістити його в /usr/local/bin.

Швидкий старт: інтерактивний режим

Щоб запустити nmon у інтерактивному режимі, просто виконайте:

nmon

Після запуску ви побачите текстовий інтерфейс з табличними блоками. Основні клавіші для швидкої навігації:

  • c — показати навантаження CPU (розподіл user/system/idle/iowait/steal)
  • m — пам’ять (free, used, cache, swap)
  • d — диски (IOPS, пропускна спроможність, wait/await)
  • n — мережа (bytes/s, packets, errors)
  • t — top-процеси за використанням CPU
  • k — деталі по CPU per core
  • V — показати версію
  • h — допомога по клавішам
  • q — вийти

Збір даних у файл (для архівації та аналізу)

Найпоширеніший спосіб використання nmon для діагностики — зібрати дані в файл і проаналізувати їх пізніше. Приклад запуску:

nmon -f -s 10 -c 360

Пояснення параметрів:

  • -f — створити файл з суфіксом .nmon
  • -s 10 — інтервал запису в секундах (тут 10s)
  • -c 360 — кількість знімків (360 знімків по 10s = 1 година)

Файл з даними зберігається в поточній директорії з назвою типу hostname_YYYYMMDD.nmon. Такий файл можна передати на локальний комп’ютер і обробити графічними або скриптовими інструментами для побудови діаграм і звітів.

Запуск у фоновому режимі та періодичний збір

Щоб запускати nmon без прив’язки до терміналу, використовують nohup або systemd. Простий приклад у фоновому режимі:

nohup nmon -f -s 60 -c 1440 &

Це робить запис кожну хвилину протягом доби. Для постійного збору на сервері краще створити systemd-сервіс або cron-джоб, який запускає nmon за розкладом і ротацію файлів зберігання.

Як інтерпретувати основні метрики

  • CPU: дивіться user, system, iowait, idle та steal. Високий iowait вказує на проблему дискових операцій, а steal — на оверпризначення ресурсів у віртуальному середовищі.
  • Memory: перевіряйте swap usage і free memory. Активне використання swap сигналізує про нестачу оперативної пам’яті.
  • Disk I/O: r/s, w/s, MB/s, await — якщо await зростає, операції на диску стають повільними.
  • Network: throughput, пакети, помилки — зростання помилок або таймаутів може вказувати на апаратні проблеми або налаштування мережі.
  • Load average: зіставляйте із CPU і I/O — високий load при низькому CPU часто означає очікування I/O.

Поради та найкращі практики

  • Плануйте періодичні зняття з різними інтервалами: короткі інтервали для відлагодження, довші — для трендів.
  • Записуйте метадані (що запускалося, зміни в конфігурації) поруч із nmon-файлами, щоб краще інтерпретувати піки навантаження.
  • Використовуйте мережеві переноси (scp/sftp) для централізації файлів nmon і побудови звітів.
  • Якщо сервер у віртуальній інфраструктурі, відстежуйте показник steal, це допоможе виявити проблеми на хості.

Висновок

nmon — легкий, але потужний інструмент для швидкої діагностики стану сервера. Він дозволяє бачити найважливіші метрики в реальному часі та робити знімки для подальшого аналізу. За допомогою декількох команд ви зможете оперативно відстежувати CPU, пам’ять, диск та мережу, швидко виявляти вузькі місця і планувати подальші дії з оптимізації.

Comments

comments