Вопрос Как узнать, какой процесс едет в моей полосе пропускания? [Дубликат]


На этот вопрос уже есть ответ:

Я думаю, что я становлюсь жертвой ошибки здесь. Иногда, пока я работаю (я все еще не знаю, почему), мой сетевой трафик достигает 200 КБ / с и остается таким же, даже жестко, я не делаю ничего связанного с Интернетом.

Это иногда случается со мной с использованием ЦП. Когда это произойдет, я просто запускаю top команду, чтобы выяснить, какой процесс отвечает, а затем kill Это. Проблема в том, что у меня нет способа узнать, какой процесс отвечает за мое высокое сетевое использование. Как монитор ресурсов, так и top команда только сообщит мне о моем общем сетевом использовании, ни один из них не сообщает мне информацию о конкретной конкретной сети.

Я нашел здесь вопросы о мониторинге общего использования полосы пропускания, но, как я уже говорил, это не то, что мне нужно. Есть ли другая команда, которую я могу использовать, чтобы узнать, какой процесс выходит из-под контроля?

Команда iftop дает результаты, которые полностью не согласуются с информацией, сообщаемой System Monitor. Хотя последний утверждает, что существует высокий сетевой трафик, первый утверждает, что всего 1 КБ / с.

Я уже пытался убить всех очевидных (Firefox, менеджер обновлений, Pidgin и т. Д.) Без везения. Пока что перезагрузка машины - единственный способ избавиться от этой проблемы.


154
2017-08-16 19:22


происхождения




ответы:


У меня был большой успех с nethogs, Он должен запускаться с правами root, но есть разные способы сортировки статистики (например, KB / s или общая ширина полосы пропускания, отслеживаемая с момента запуска nethogs).

Кроме того, если вы используете беспроводную связь, вам необходимо передать ей устройство.

Установите его командой: sudo apt-get install nethogs 

Пример: sudo nethogs wlan0


184
2017-08-18 01:47



При ближайшем рассмотрении это действительно раздражая, что он предполагает, что терминал всегда имеет ширину 80 символов и обрезает команду. - Li Lo
Это было давно, но этот ответ значительно проще. - Malabarba
nethogs это хорошо, но, похоже, он использует путь больше процессора на моем компьютере, чем iftop - aidan
Будьте предупреждены об ошибке, приводящей некоторые версии nethogнепригодный для использования: askubuntu.com/questions/726601/... - Rmano
Вам не нужно передавать устройство, если вы используете беспроводную связь. sudo nethogs работает отлично. - Ads20000


использование iftop чтобы найти TCP-порт на вашем компьютере, который получает наибольший трафик. Затем используйте sudo netstat -tup чтобы найти процесс «владения» этим портом.

Это процесс, который вы ищете.

PS: Должен работать и для UDP.


47
2017-08-16 19:56



Спасибо, команда работает, но я получаю странные результаты. Системный монитор утверждает, что он составляет около 180 КБ / с, тогда как iftop составляет всего 1 килобайт в секунду. - Malabarba
Я принимаю ответ, так как он отвечает на исходный вопрос. Но мне будет хорошо, если я смогу понять, что здесь происходит. - Malabarba
iptop отображает статистику для одного интерфейса. Я не уверен, что системный монитор смотрит только на один интерфейс или все. Если это так, тогда будет показан трафик, отображаемый системным монитором, но не показан с помощью iftop, что вполне нормально, потому что вы все равно хотите смотреть на свой интернет-интерфейс (а не lo). Я только что тестировал iftop на своей системе, и это показало, чего я ожидал. Имейте в виду, что в iftop отображаются средние значения за 2, 10 и 40 секунд соответственно. Я запускал iftop, как 'sudo iftop -i eth0 -nPB', как вы его запускали? - Li Lo
Я запустил его как sudo iftop -B -i eth0, это означает, что он смотрит только на мой интернет-трафик? Мне не приходило в голову, что системный монитор может также проверять и другие интерфейсы. По иронии судьбы проблема исчезла 10 минут назад (после многих часов), поэтому я не могу проверить iftop снова на данный момент. Для чего нужен интерфейс lo? - Malabarba
Поскольку на экране iftop очень много номеров, я создал скриншот, на котором я выделил номер, который вам интересен. Сравните это с монитором системы. Снимок экрана находится на imgur.com/2iuiI , «lo» означает localhost, это интерфейс, через который локальные программы могут взаимодействовать друг с другом. - Li Lo


Возможно, вы захотите изучить ntop - который должен контролировать сетевую активность на уровне процесса. Ты можешь найти ntop в Центре программного обеспечения или с помощью sudo apt-get install ntop

Инструкции по установке, следуйте их странице http://packages.ntop.org/


13
2017-08-16 19:43



недоступно с ubuntu 17.04 (zesty) - shadi


Другой альтернативой является iptraf. Это не приведет к PID процесса, но сообщит вам, какое соединение использует пропускную способность.


7
2017-08-16 20:21





Поздний ответ, но у меня была та же проблема. Оказалось, что это Ubuntuone. Обнаружено, что запустив tcpdump. Я прошел одну и ту же кривую обучения по идентификации процесса. Мои заметки Вот,


6
2017-09-13 00:03