Як дізнатись, який процес поглинає мою пропускну здатність?


184

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

Іноді це трапляється зі мною при використанні процесора. Коли це відбувається, я просто запускаю topкоманду, щоб з'ясувати, який процес відповідає, а потім - killце. Проблема полягає в тому, що я не можу знати, який процес відповідає за моє високе використання мережі. Як монітор ресурсів, так і topкоманда підказують мені лише моє загальне використання мережі, жодна з них не повідомляє мені обробляти конкретну мережеву інформацію.

Тут я знайшов питання щодо моніторингу загального використання пропускної здатності, але, як я вже згадував, це не те, що мені потрібно. Чи є інша команда, яку я можу використати, щоб дізнатися, який процес виходить з рук?

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

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

Відповіді:


221

Я мав багато успіху з сітчастими собачками . Він повинен запускатися як root, але є різні способи сортування статистики (наприклад, KB / s або загальна пропускна здатність, яка відстежується з моменту запуску мережних журналів).

Крім того, якщо ви користуєтеся бездротовим зв’язком, вам потрібно передати пристрій йому.

Встановіть його за допомогою команди: sudo apt-get install nethogs

Приклад: sudo nethogs wlan0


При ретельному огляді насправді дратує те, що він передбачає, що термінал завжди має 80 символів, і він обрізає команду.
Лі Ло

3
Минув час, але ця відповідь дійсно значно простіша.
Малабарба

2
nethogsприємно, але, здається, використовується набагато більше процесора на моєму комп’ютері, ніжiftop
aidan

4
Попередити про помилку, яка робить деякі версії nethogнепридатними: askubuntu.com/questions/726601/…
Rmano

3
Вам не потрібно передавати пристрій, якщо ви використовуєте бездротовий зв'язок. sudo nethogsпрацює чудово.
Оголошення20000

55

Використовуйте iftopдля пошуку порту TCP на вашій машині, який отримує найбільше трафіку. Потім використовуйте sudo netstat -tupдля пошуку процесу "володіння" цим портом.

Це процес, який ви шукаєте.

PS: Має працювати і для UDP.


Дякую, команда наче працює, але я отримую дивні результати. Системний монітор вимагає загалом близько 180 КБ / с, а iftopзагалом - ледь 1 кілобайт в секунду.
Малабарба

1
Я приймаю відповідь, оскільки вона відповідає на оригінальне запитання. Але мені буде добре, якщо я зможу зрозуміти, що тут відбувається.
Малабарба

iptop відображає статистику для одного інтерфейсу. Я не впевнений, чи системний монітор переглядає лише один інтерфейс або всі вони. Якщо це так, тоді трафік відображатиметься на моніторі системи, але не відображається iftop, що нормально, тому що ви хочете лише дивитись на свій інтернет-інтерфейс (а не lo). Я просто перевірив iftop на своїй системі, і він показав, на що я цього очікував. Будьте в курсі, що iftop відображає в середньому більше 2s, 10s, 40s відповідно. Я бігав iftop на зразок 'sudo iftop -i eth0 -nPB', як ти це запустив?
Лі Ло

Я запустив це як sudo iftop -B -i eth0, це означає, що він дивився тільки на мій інтернет-трафік? Мені не спадало на думку, що монітор системи може перевіряти й інші інтерфейси. Як не дивно, проблема зникла 10 хвилин тому (через багато годин), тому я зараз не можу перевірити iftopще раз. Що означає інтерфейс lo?
Малабарба

3
Оскільки на екрані iftop дуже багато номерів, я створив скріншот, де я виділив потрібне вам число. Порівняйте це з монітором системи. Знімок екрана знаходиться на сайті imgur.com/2iuiI . "lo" означає localhost, це інтерфейс, за допомогою якого локальні програми можуть спілкуватися між собою.
Лі Ло

14

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

Для отримання інструкцій з установки, перейдіть на їх сторінку http://packages.ntop.org/


2
недоступний для ubuntu 17.04 (zesty)
шаді

див. пакети.ntop.org/ apt-stable щодо репостів для більш пізніх версій ubuntu. також цеapt-get install ntopng
dw1

7

Ще одна альтернатива - іптраф. Він не покаже вам PID процесу, але підкаже, яке з'єднання використовує скільки пропускної здатності.


6

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

З моїх записок :

Інформація про з'єднання коробки Ubuntu

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

tcpdump. Показує, що Ubuntuone божеволіє.

Система> Налаштування> Ubuntu One. Вимкніть всі синхронізації. Це і вдалося.

Тож я думаю, що хотів би побачити всі підключення до мережі та те, що вони роблять. я можу

netstat -cW (перераховуйте мережеві з'єднання постійно у широкому форматі, щоб іноземні адреси не були усічені)

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

Деякі речі, які потрібно забрати:

  1. Потрібно дізнатися про журнали Ubuntu для усунення несправностей.
  2. Потрібно дізнатися більше про tcpdump, тому я розпочну з цього підручника Даніеля Місслера .

Примітка редактора: Ця відповідь стосувалася статті блогера Tinker, яка призначена лише для запрошених користувачів. Оскільки ця відповідь має помітні результати, тому вона цінна. Я знайшов копію статті на Wayback Machine . І включили це сюди.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.