Bagaimana cara mengetahui proses mana yang memakan bandwidth saya?

184

Saya pikir saya menjadi korban bug di sini. Kadang-kadang ketika saya sedang bekerja (saya masih tidak tahu mengapa), lalu lintas jaringan saya mencapai 200 KB / s dan tetap seperti itu, bahkan sulit saya tidak melakukan apa pun yang berhubungan dengan internet.

Ini terkadang terjadi pada saya dengan penggunaan CPU. Ketika itu terjadi, saya hanya menjalankan topperintah untuk mencari tahu proses mana yang bertanggung jawab dan kemudian killitu. Masalahnya adalah: Saya tidak memiliki cara untuk mengetahui proses mana yang bertanggung jawab atas penggunaan jaringan saya yang tinggi. Baik monitor sumber daya dan topperintah hanya memberi tahu saya total penggunaan jaringan saya, tidak satu pun dari mereka yang memberitahu saya memproses info jaringan tertentu.

Saya telah menemukan pertanyaan di sini tentang memantau penggunaan total bandwidth, tetapi, seperti yang saya sebutkan, bukan itu yang saya butuhkan. Apakah ada perintah lain yang bisa saya gunakan untuk mencari tahu proses mana yang lepas kendali?

Perintah iftopmemberikan hasil yang sepenuhnya tidak setuju dengan informasi yang dilaporkan oleh System Monitor. Sementara yang terakhir mengklaim ada lalu lintas jaringan yang tinggi, yang sebelumnya mengklaim hanya ada 1 KB / s.

Saya sudah mencoba membunuh semua yang sudah jelas (Firefox, update-manager, Pidgin, dll) tanpa hasil. Sejauh ini, me-restart mesin adalah satu-satunya cara yang saya temukan untuk menyingkirkan masalah tersebut.

Malabarba
sumber

Jawaban:

221

Saya sudah banyak sukses dengan nethogs . Itu harus dijalankan sebagai root tetapi ada berbagai cara Anda dapat mengurutkan statistik (seperti KB / s atau total bandwidth yang dipantau sejak nethogs dimulai).

Selain itu, jika Anda menggunakan nirkabel, Anda harus meneruskan perangkat ke sana.

Instal dengan perintah: sudo apt-get install nethogs

Contoh: sudo nethogs wlan0

Ben
sumber
Pada pemeriksaan lebih dekat itu benar - benar menjengkelkan karena menganggap terminal selalu lebar 80 karakter dan memotong perintah.
Li Lo
3
Sudah lama, tapi jawaban ini memang lebih sederhana.
Malabarba
2
nethogsbagus, tetapi tampaknya menggunakan cpu jauh lebih pada komputer saya daripadaiftop
aidan
4
Berhati-hatilah terhadap bug yang membuat beberapa versi nethogtidak dapat digunakan: askubuntu.com/questions/726601/...
Rmano
3
Anda tidak perlu melewati perangkat jika Anda menggunakan nirkabel. sudo nethogsbekerja dengan baik.
Ads20000
55

Gunakan iftopuntuk menemukan port TCP pada mesin Anda yang menerima lalu lintas terbanyak. Kemudian gunakan sudo netstat -tupuntuk menemukan proses "memiliki" port itu.

Itulah proses yang Anda cari.

PS: Seharusnya bekerja untuk UDP juga.

Lil o
sumber
Terima kasih, perintahnya sepertinya berhasil, tetapi saya mendapatkan hasil yang aneh. Monitor sistem mengklaim total sekitar 180KB / dtk, sementara iftopklaim total hampir 1 kilobyte per detik.
Malabarba
1
Saya menerima jawabannya karena memang menjawab pertanyaan awal. Tetapi saya akan senang jika saya bisa mengetahui apa yang terjadi di sini.
Malabarba
iptop menampilkan statistik untuk satu antarmuka. Saya tidak yakin apakah Monitor sistem hanya melihat satu antarmuka atau semuanya. Jika itu masalahnya maka akan ada lalu lintas yang ditunjukkan oleh Monitor sistem tetapi tidak ditampilkan oleh iftop, yang OK karena Anda hanya ingin melihat antarmuka internet Anda (dan bukan lo). Saya baru saja menguji iftop pada sistem saya dan itu menunjukkan apa yang saya harapkan. Perlu diketahui juga bahwa iftop menampilkan rata-rata lebih dari 2s, 10s, 40s. Saya berlari iftop seperti 'sudo iftop -i eth0 -nPB', bagaimana Anda menjalankannya?
Li Lo
Saya menjalankannya sebagai sudo iftop -B -i eth0, itu berarti hanya melihat lalu lintas internet saya kan? Tidak terpikir oleh saya bahwa monitor sistem mungkin sedang memeriksa antarmuka lain juga. Ironisnya, masalahnya hilang 10 menit yang lalu (setelah berjam-jam), jadi saya tidak dapat memeriksa iftoplagi untuk sekarang. Untuk apa antarmuka lo berdiri?
Malabarba
3
Karena ada banyak angka di layar iftop, saya telah membuat tangkapan layar tempat saya menyorot nomor yang Anda minati. Bandingkan dengan monitor Sistem. Tangkapan layarnya ada di imgur.com/2iuiI . "lo" adalah singkatan dari localhost, ini adalah antarmuka di mana program lokal dapat berkomunikasi satu sama lain.
Li Lo
14

Anda mungkin ingin melihat ntop- yang harus memantau aktivitas jaringan pada tingkat proses. Anda dapat menemukannya ntopdi Pusat Perangkat Lunak atau dengansudo apt-get install ntop

Untuk instruksi instalasi, ikuti halaman mereka http://packages.ntop.org/

Marco Ceppi
sumber
2
tidak tersedia dengan ubuntu 17.04 (zesty)
shadi
melihat packages.ntop.org/apt-stable untuk repo untuk versi ubuntu. jugaapt-get install ntopng
dw1
7

Alternatif lain adalah iptraf. Ini tidak akan menunjukkan Anda PID dari proses, tetapi akan memberi tahu Anda koneksi mana yang menggunakan berapa banyak bandwidth.

Dennis Kaarsemaker
sumber
6

Jawaban telat, tapi saya punya masalah yang sama. Ternyata menjadi Ubuntuone. Menemukan itu dengan menjalankan tcpdump. Saya mengalami kurva pembelajaran yang sama dalam proses identifikasi.

Dari catatan saya :

Informasi koneksi kotak Ubuntu

Mulai desktop Ubuntu 10,04 saya pagi ini untuk menemukan bahwa setelah beberapa menit koneksi Internet merangkak. Saya pernah melihat ini di kotak Windows sebelumnya, dan 99% dari waktu itu adalah spyware. Jadi, saya perlu menyelidiki ... gaya baris perintah.

tcpdump. Menunjukkan Ubuntuone menjadi gila.

Sistem> Preferensi> Ubuntu One. Matikan semua sinkronisasi. Itu berhasil.

Jadi, saya pikir saya ingin melihat semua koneksi jaringan dan apa yang mereka lakukan. saya bisa

netstat -cW (daftarkan koneksi jaringan secara terus menerus dalam format lebar sehingga alamat asing tidak terpotong)

lsof -i |grep -v 'localhost' (daftar file terbuka yang cocok dengan alamat Internet apa pun, ambil untuk menghapus file terbuka yang terkait dengan localhost - saya pikir di sini adalah bahwa saya tidak ingin melihat layanan lokal karena mereka kemungkinan tidak akan mempengaruhi pemanfaatan jaringan).

Beberapa hal untuk diambil:

  1. Perlu belajar tentang log Ubuntu untuk pemecahan masalah.
  2. Perlu mempelajari lebih lanjut tentang tcpdump, jadi saya akan mulai dengan tutorial ini oleh Daniel Miessler .

Catatan editor: Jawaban ini merujuk pada artikel blogspot tinker yang dimaksudkan hanya untuk pengguna yang diundang. Karena jawaban ini memiliki peningkatan yang cukup besar, maka itu sangat berharga. Saya menemukan salinan artikel di Wayback Machine . Dan termasuk di sini.

menggerumit
sumber