Как мне узнать, какой процесс потребляет мою пропускную способность?

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

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

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

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

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

Я добился большого успеха с нетопыри. Он должен запускаться от имени root, но есть разные способы сортировки статистики (например, КБИТ / с или общая пропускная способность, отслеживаемая с момента запуска nethogs).

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

Установите его с помощью команды: sudo apt-get install nethogs

Пример: sudo nethogs wlan0

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

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

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

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

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

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

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

От мои заметки:

Информация о подключении Ubuntu box

Сегодня утром я запустил свой рабочий стол Ubuntu 10.04 и обнаружил, что через несколько минут интернет-соединение сканируется. Я уже видел это на коробках Windows раньше, и в 99% случаев это шпионское ПО. Итак, мне нужно было исследовать... стиль командной строки.

tcpdump. Показывает, как Убунтуон сходит с ума.

>>SystemPreferencesUbuntu Один. Отключите всю синхронизацию. Это сделало свое дело.

Итак, я думаю, что хотел бы увидеть все сетевые подключения и то, что они делают. Я могу

netstat -cW (список сетевых подключений непрерывно в широком формате, чтобы внешние адреса не усекались)

lsof -i |grep -v 'localhost' (список открытых файлов, соответствующих любому интернет-адресу, grep, чтобы удалить все открытые файлы, связанные с localhost - моя мысль здесь заключается в том, что я не хочу видеть локальные службы, поскольку они, вероятно, не повлияют на использование сети).

Кое-что нужно забрать:

  1. Необходимо ознакомиться с журналами Ubuntu для устранения неполадок.
  2. Нужно узнать больше о tcpdump, поэтому я начну с это учебное пособие Дэниела Мисслера.

Примечание редактора: Этот ответ имел в виду статья тинкера на сайте который предназначен только для приглашенных пользователей. Поскольку этот ответ имеет заметные положительные отзывы, он ценен. Я нашел копию статьи о Машина Обратного хода. И включил это сюда.

Вот один, который мне нравится, он сообщает вам, что читается из сети больше всего, в любом случае (похоже, не работает, для которого из них "записывается" в сеть, так что ... вы получаете половину).

$ sudo apt install dstatthen$ dstat --net --top-io-adv-net/total- -------most-expensive-i/o-process------- recv  send|process              pid  read write cpu   0     0 |chrome               1885   19k  17k0.4% 504B  734B|chrome               1923    0   66k0.2% 651k   18k|chrome               1923  597k 593k2.0%  19k   26k|gnome-terminal-      25834 429B  59k0.8%