Вопрос или проблема
Существует ли программа, которую я могу использовать для отображения процессов на основе их текущего сетевого ввода-вывода? top
показывает использование CPU, и, по крайней мере, на FreeBSD он также отображает ввод-вывод диска, если вы передаете ему -m io
(я предполагаю, что на Linux есть аналог, но я не помню его с ходу). Но мне хотелось бы увидеть именно сетевой ввод-вывод, чтобы я мог видеть, какие процессы его используют и сколько. Есть ли программа, которую я могу использовать для отображения процессов таким образом? Если нет, какой был бы лучший аналог?
Есть ntop
и nethogs
.
А на Linux есть iotop
для ввода-вывода.
Еще одна альтернатива, которую вы можете попробовать, это iftop
.
nethogs
, как указано в принятом ответе, вероятно, является правильным инструментом для отображения сетевого использования по процессам.
Для других инструментов мониторинга сети в консоли вот список текущих инструментов на Debian 11 (или Ubuntu 20.04 LTS).
apt show bwm-ng cbm dstat iftop iptraf-ng nethogs nload
В алфавитном порядке с отрывком описания:
-
bwm-ng
(https://www.gropp.org/?id=projects&sub=bwm-ng)маленький и простой мониторинг полосы пропускания в консоли
-
cbm
(https://github.com/resurrecting-open-source-projects/cbm)The Color Bandwidth Meter (CBM) – это небольшая программа для отображения трафика, который в данный момент проходит через сетевые устройства, в простом графическом интерфейсе на основе curses.
-
dstat
(http://dag.wiee.rs/home-made/dstat/)многофункциональный инструмент статистики ресурсов Dstat – это универсальная замена vmstat, iostat и ifstat. Dstat устраняет некоторые ограничения этих программ и добавляет дополнительные функции. Dstat позволяет вам мгновенно просматривать все используемые сетевые ресурсы, вы можете, например, сравнивать использование диска в сочетании с прерываниями от вашего контроллера IDE или сравнивать показатели сетевой полосы пропускания непосредственно с пропускной способностью диска (в одном и том же интервале).
dstat -n --nocolor -f
dstat -n --tcp --udp -f
- и др.
-
iftop
(http://www.ex-parrot.com/~pdw/iftop/)отображает информацию о использовании полосы пропускания на сетевом интерфейсе, iftop делает для сетевого использования то, что top(1) делает для использования CPU.
iftop -i интерфейс
# (укажите интерфейс. Только 1 за раз)
-
iptraf-ng
(https://github.com/iptraf-ng/iptraf-ng)IPTraf-ng – это мониторы IP LAN на основе ncurses, который генерирует различные сетевые статистики, включая информацию о TCP, количество UDP, информацию о ICMP и OSPF, информацию о нагрузке Ethernet, статистику узлов, ошибки контрольной суммы IP и другие.
-
nethogs
(https://github.com/raboof/nethogs)Инструмент Net top, группирующий полосу пропускания по процессам
-
nload
(http://www.roland-riegel.de/nload/)мониторинг сетевого использования в реальном времени в консоли
(Используйте ← и → для перемещения между интерфейсами для отображения)
Новый участник в округе — bandwhich
, не в стандартных репозиториях, но может быть собран с помощью cargo install bandwhich
(если у вас уже установлен cargo), как подробно описано на странице установки. Также исполняемые файлы доступны на странице проекта на GitHub.
Ответ или решение
В сфере информационных технологий управления сетевым трафиком и мониторинг сетевого ввода-вывода стали важными аспектами обеспечения производительности и безопасности систем. Если вы ищете инструмент, аналогичный команде top
, но для мониторинга сетевого ввода-вывода, существует несколько решений, которые могут помочь вам отслеживать потребление сетевых ресурсов различными процессами.
Инструменты для мониторинга сетевого ввода-вывода
-
Nethogs
Nethogs — это мощный инструмент, который группирует использование полосы пропускания по процессам, что позволяет четко увидеть, какие приложения потребляют сетевые ресурсы и в каком объеме. Он удобен в использовании и обеспечивает реализацию в реальном времени, что делает его одним из лучших выбора для анализа сетевой активности. -
iftop
iftop предоставляет информацию о текущем использовании полосы пропускания на определённом сетевом интерфейсе. Он визуализирует объем переданных и принятых данных и позволяет получать статистику в режиме реального времени, что делает его аналогомtop
, но для сетевых интерфейсов. Для его работы можно использовать командуiftop -i интерфейс
. -
iptraf-ng
Iptraf-ng является ncurses-основанным монитором LAN, который генерирует различные сетевые статистики, включая информацию о TCP, UDP, и нагрузке Ethernet. Это полезный инструмент для более глубокой аналитики и мониторинга. -
bwm-ng
Bwm-ng – это простой в использовании консольный мониторинг использования полосы пропускания, который может быть использован для быстрого анализа текущего сетевого трафика. -
nload
Nload предоставляет интерфейс для мониторинга сетевого трафика в режиме реального времени и отображает скорость передачи и получения данных. Этот инструмент удобен для моментального просмотра состояния сети. -
dstat
Dstat представляет собой универсальное средство статистики ресурсов, которое может отображать сетевые ресурсы в сочетании с другой системной информацией, например, загрузкой диска и процессора. -
bandwhich
bandwhich — современное решение, которое не входит в стандартные репозитории, но может быть собрано с помощьюcargo
. Этот инструмент предоставляет удобный интерфейс для просмотра использования сетевой полосы пропускания, связанного с конкретными процессами.
Как выбрать подходящий инструмент
При выборе подходящего инструмента для мониторинга сетевого ввода-вывода необходимо учесть несколько факторов:
- Цель мониторинга: Определите, хотите ли вы отслеживать общее использование сети или фокусироваться на использовании конкретными процессами.
- Удобство использования: Некоторые инструменты имеют графический интерфейс, в то время как другие работают исключительно в консольном режиме.
- Дополнительные характеристики: Рассмотрите дополнительные функции, такие как сбор статистики со всех интерфейсов или возможность ведения логов.
Заключение
Инструменты, перечисленные выше, позволят вам эффективно отслеживать сетевое использование вашего сервера или локальной машины, идентифицируя ресурсоемкие процессы и оптимизируя их работу. Выбор конкретного инструмента зависит от ваших требований к функциональности и предпочтений в интерфейсе. Выбирайте тот, который лучше всего подходит под ваши критерии, и обеспечивайте эффективное управление сетевыми ресурсами.