nmon у Linux: швидкий моніторинг навантаження сервера
02.03.2026Що таке 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, пам’ять, диск та мережу, швидко виявляти вузькі місця і планувати подальші дії з оптимізації.