nload vs bmon vs vnstat: порівняння засобів моніторингу пропускної здатності
11 хв читання - 15 червня 2026 р.

Порівняння nload, bmon та vnstat для моніторингу пропускної здатності в Linux. Коли використовувати кожну з них, чого їм бракує та як поєднати їх для повного охоплення.
nload, bmon та vnstat: порівняння засобів моніторингу пропускної здатності в Linux
nload, bmon та vnstat — це три інструменти моніторингу пропускної здатності в Linux, про які варто знати. Вони вирішують різні проблеми, і правильна відповідь зазвичай полягає в поєднанні двох із них. У цій публікації розглядається, у чому кожен із них є найкращим, де має недоліки та який із них слід обрати в конкретній ситуації.
nload: пропускна здатність у реальному часі
nload — це термінальний інструмент, який показує пропускну здатність в реальному часі на одному інтерфейсі за допомогою графіків ASCII: один для вхідного, а інший — для вихідного трафіку. Він зчитує /proc/net/dev безпосередньо, тому працює без прав root і використовує незначну потужність процесора.
Запустіть його, вказавши ім’я інтерфейсу:
nload eth0Корисні параметри:
-u Mзмінює одиницю виміру на МБ/с (за замовчуванням — біти на секунду)-mпоказує кілька інтерфейсів на одному екрані, без графіків-t 1000встановлює інтервал оновлення в мілісекундах
Натисніть F2 під час сеансу, щоб налаштувати частоту оновлення та масштаб графіку без перезапуску.
Що ви бачите на екрані: поточну швидкість, середнє, мінімальне, максимальне та загальний обсяг переданих даних під час сеансу. Цього достатньо, щоб підтвердити, що сервер передає очікуваний трафік, або виявити раптовий сплеск. Чого ви не бачите: розподіл за процесами, розбивку за з'єднаннями або будь-які історичні дані. Закрийте термінал, і статистика сеансу зникне.
Використовуйте nload, коли хочете за п'ять секунд відповісти на запитання: «Чи перевантажує цей сервер свій канал у цей момент?».
bmon: моніторинг декількох інтерфейсів
bmon використовує інший підхід. Замість одного інтерфейсу з усіма деталями, він показує всі інтерфейси на хості одночасно. У верхній панелі перелічені всі інтерфейси з поточними швидкостями прийому та передачі. У нижній панелі відображається графік для вибраного інтерфейсу. Клавіші зі стрілками дозволяють переходити між ними.
Це саме той інструмент, який вам потрібен на хостах віртуалізації, маршрутизаторах, виділених серверах з декількома мережевими картами або будь-яких системах, що працюють під управлінням Docker, де список інтерфейсів налічує десятки. Переглядати їх по одному за допомогою nload було б нудно.
Натисніть d під час сеансу, щоб переглянути детальну статистику, яка додає кількість пакетів, частоту помилок, втрачені пакети та колізії. Ці дані є необхідними для діагностики нестабільних з'єднань, невідповідності MTU або проблем з драйверами мережевих карт, які не проявляються як проблеми з пропускною здатністю.
Фільтруйте список інтерфейсів за допомогою -p , щоб зменшити візуальний хаос:
bmon -p "eth*,ens*"bmon також може експортувати структуровані дані у -o у форматах JSON, XML, ASCII або HTML, що зручно для створення знімків за допомогою скриптів або передачі даних в інший інструмент:
bmon -o ascii -p eth0 > /tmp/eth0-stats.txtОднак обмеження такі самі, як і в nload: відсутність постійної історії. Закрийте програму — і дані зникнуть.
vnstat: довгострокове відстеження використання
vnstat заповнює прогалину, яку залишають інші два. Він працює як фоновий демон (vnstatd) і записує лічильники трафіку в бінарну базу даних у форматі /var/lib/vnstat/. База даних зберігається після перезавантаження і зберігає 5-хвилинні зразки протягом 48 годин, погодинні дані протягом 4 днів, щоденні підсумки протягом 2 місяців, а також місячні та річні зведення безстроково.
Увімкніть його з першого дня:
systemctl enable --now vnstatКритичний момент: vnstat підраховує трафік лише з моменту запуску демона. Він не може ретроактивно виміряти використання до моменту встановлення. На новому сервері встановіть його під час налаштування, інакше у вас не буде даних, коли вони знадобляться.
Стандартні запити:
vnstat # summary
vnstat -d # daily breakdown
vnstat -m # monthly totals
vnstat -h # last 24 hours, hourly
vnstat -t # top days
vnstat --json # JSON export
vnstat -i eth0 # specific interfacevnstat — це правильний інструмент для відповідей на запитання «скільки ми передали минулого місяця?», «чи дотримуємося ми місячного ліміту?» та «як виглядає довгострокова тенденція?». Прапорець --alert флаг дозволяє встановити порогові значення, прив'язані до власного розрахункового циклу, що корисно, коли місяць вашого провайдера не збігається з календарним.
Поєднайте його з vnstati для виведення у форматі PNG, якщо вам потрібні графіки на сторінці стану або у звіті:
vnstati -s -i eth0 -o /var/www/html/traffic.pngЧого vnstat не вміє робити добре: діагностика в реальному часі. -l режим реального часу існує, але це лише лічильник, без графіків та деталей по інтерфейсах. Для реагування на інциденти вам все одно знадобиться відкрити nload або bmon в іншій панелі.
Швидке порівняння
| Функція | nload | bmon | vnstat |
|---|---|---|---|
| Фокус | Пропускна здатність у реальному часі | Статистика в режимі реального часу для декількох інтерфейсів | Історія використання |
| Візуалізація | Подвійні графіки ASCII | Список інтерфейсів + графік | Таблиці, PNG через vnstati |
| Постійні дані | Ні | Ні | Так |
| Формати експорту | Немає | JSON, XML, ASCII, HTML | JSON, XML, CSV |
| Атрибуція за процесом | Ні | Ні | Ні |
| Працює як демон | Ні | Ні | Так |
| Потрібен root | Ні | Ні | Ні |
| Найкраще підходить для | Швидкі перевірки | Хости з великою кількістю мережевих карт | Планування потужностей, білінг |
Жоден із цих інструментів не показує, який саме процес або з'єднання відповідає за трафік. Для цього iftop (на з'єднання) та nethogs (на процес) є правильними інструментами, і вони добре поєднуються з усім вищезазначеним.
Який інструмент використовувати
Для VPS з одним інтерфейсом та щомісячним лімітом встановіть vnstat у перший день та використовуйте nload, коли вам потрібна швидка перевірка. Це покриває 95% випадків.
Для виділених серверів, хостів віртуалізації або будь-чого, що працює на контейнерах, замініть nload на bmon. Перегляд з кількома інтерфейсами економить час, якщо у вас більше трьох-чотирьох мережевих карт та мостів.
Для планування потужностей у всьому парку JSON-експорт vnstat легко інтегрується в Prometheus, Grafana або будь-яку іншу систему, яку ви вже використовуєте для метрик. Налаштуйте його один раз і забудьте про нього, доки не знадобиться щомісячний звіт.
Коли трафік виглядає неправильно і вам потрібно знайти джерело, жодна з цих трьох програм вам цього не скаже. Саме тут iftop (найпопулярніші з'єднання за пропускною здатністю) та nethogs (топ-процеси) виправдовують свою присутність.
Усі три інструменти зчитують лічильники ядра, а не перехоплюють пакети, тому навантаження є незначним навіть на перевантаженому каналі 10 Гбіт/с. Немає жодних причин не встановити всі три.
Підсумок
nload, bmon та vnstat охоплюють різні питання: що відбувається зараз на одному інтерфейсі, що відбувається на багатьох інтерфейсах та що відбувалося протягом певного часу. Оберіть по одному для кожного питання, і ви отримаєте моніторинг пропускної здатності з налаштуванням, яке займає близько п’яти хвилин і не додає помітного навантаження.
Якщо ваше навантаження генерує постійний трафік і ви хочете перестати турбуватися про рахунки за перевищення ліміту, VPS без обмежень надає вам порт з фіксованою ставкою та передбачувані витрати, що робить історичні дані з vnstat інструментом планування, а не сигналом тривоги щодо рахунків.

Налаштовані профілі для оптимізації навантаження на сервер Linux
Як вибирати, застосовувати та налаштовувати налаштовані профілі для графічних процесорів, баз даних та високошвидкісних серверів Linux, з прикладами та порадами щодо розгортання Ansible.
16 хв читання - 9 червня 2026 р.
Налаштування Linux OOM Killer для VPS: практичний посібник
12 хв читання - 8 червня 2026 р.

Маєте запитання або потребуєте індивідуального рішення?
Гнучкі варіанти
Глобальне охоплення
Миттєве розгортання
Гнучкі варіанти
Глобальне охоплення
Миттєве розгортання