Bant genişliğimi hangi işlemin yediğini nasıl bulabilirim?


184

Sanırım burada bir böceğin kurbanı oluyorum. Bazen çalışırken (nedenini hala bilmiyorum), ağ trafiğim 200 KB / s'ye kadar çıkıyor ve bu şekilde kalıyor, zor olsa bile internetle ilgili hiçbir şey yapmıyorum.

Bu bazen CPU kullanımıyla başıma geliyor. Bunu yaptığında, sadece tophangi işlemin sorumlu olduğunu bulmak için bir komut çalıştırıyorum ve daha sonra kill. Sorun şudur: Yüksek ağ kullanımım için hangi işlemin sorumlu olduğunu bilmenin bir yolu yok. Hem kaynak izleyicisi hem de topkomut bana yalnızca toplam ağ kullanımımı söyler, ikisi de belirli ağ bilgilerini işlememi söylemez.

Burada toplam bant genişliği kullanımının izlenmesi ile ilgili sorular buldum, fakat dediğim gibi, ihtiyacım olan bu değil. Hangi sürecin elden çıktığını bulmak için kullanabileceğim başka bir komut var mı?

Komut iftop, Sistem Monitörü tarafından bildirilen bilgilere tamamen uymayan sonuçlar verir. İkincisi, ağ trafiğinin yüksek olduğunu iddia etse de, eski iddia ancak 1 KB / s.

Şanssız tüm bariz olanları (Firefox, güncelleme yöneticisi, Pidgin vb.) Öldürmeyi çoktan denedim. Şimdiye kadar, makineyi yeniden başlatmak sorundan kurtulmak için bulduğum tek yol.

Yanıtlar:


221

Nethogs ile çok başarılı oldum . Kök olarak çalışması gerekir, ancak istatistikleri sıralamanın farklı yolları vardır (KB / s veya ağlar başladığından beri izlenen toplam bant genişliği gibi).

Ayrıca, kablosuz kullanıyorsanız cihazı cihaza aktarmanız gerekir.

Komutuyla yükleyin: sudo apt-get install nethogs

Örnek: sudo nethogs wlan0


Daha yakından incelendiğinde , terminalin her zaman 80 karakter genişliğinde olduğu varsayımı gerçekten sinir bozucu ve komutu kesiyor.
Li Lo,

3
Uzun zaman oldu, ama bu cevap gerçekten çok daha basit.
Malabarba

2
nethogsgüzel, ama kullanmak gibi görünüyor yolu daha bilgisayarımda daha cpuiftop
Aidan

4
nethogKullanılamaz hale getirilen
Rmano

3
Kablosuz kullanıyorsanız cihazı geçmenize gerek yoktur. sudo nethogsiyi çalışıyor.
Ads20000

55

iftopMakinenizde en çok trafik alan TCP bağlantı noktasını bulmak için kullanın . Sonra sudo netstat -tupbu bağlantı noktasına "sahip olma" işlemini bulmak için kullanın .

Aradığın süreç bu.

Not: UDP için de çalışmalı.


Teşekkürler, komut çalışıyor gibi görünüyor, ama garip sonuçlar alıyorum. Sistem monitörü toplamda 180KB / s, saniyede ise iftopsadece 1 kilobaytlık talepte bulunuyor.
Malabarba

1
Orijinal soruyu cevapladığından cevabı kabul ediyorum. Ama burada neler olup bittiğini anlayabilirsem iyi olacağım.
Malabarba

iptop, tek bir arayüz için istatistikleri görüntüler. Sistem monitörü sadece bir arayüze mi yoksa hepsine mi bakar? Eğer durum buysa, Sistem monitörü tarafından gösterilen bir trafik olacak, ancak iftop ile gösterilmeyecek, bu sorun değil çünkü sadece internet arayüzünüze bakmak istiyorsunuzdur (ve lo değil). Sistemimde iftop yaptım ve ne umduğumu gösterdi. Bununla birlikte, iftop'un sırasıyla 2s, 10s, 40s ortalamalarını gösterdiğine dikkat edin. 'Sudo iftop -i eth0 -nPB' gibi iftop yaptım, nasıl çalıştırdın?
Li Lo

Koştum sudo iftop -B -i eth0, demek istediğim sadece internet trafiğime bakıyordu, değil mi? Sistem monitörünün diğer arayüzleri de kontrol ediyor olabileceği aklıma gelmedi. İronik olarak, sorun 10 dakika önce kayboldu (birkaç saat sonra), bu yüzden iftopşimdilik kontrol edemiyorum . Lo arayüzü ne anlama geliyor?
Malabarba

3
İftop ekranda çok sayıda numara bulunduğundan, ilgilendiğiniz numarayı vurguladığım bir ekran görüntüsü oluşturdum. Bunu System monitor ile karşılaştırın. Ekran görüntüsü imgur.com/2iuiI adresinde . "lo", yerel ana bilgisayar anlamına gelir; bu, yerel programların birbirleriyle iletişim kurabildiği bir arayüzdür.
Li Lo

14

ntopAğ aktivitesini bir süreç düzeyinde izlemesi gereken - içine bakmak isteyebilirsiniz . Sen bulabilirsiniz ntopYazılım Merkezi'nde veyasudo apt-get install ntop

Kurulum talimatları için, http://packages.ntop.org/ sayfasını takip edin.


2
ubuntu 17.04 (zesty) ile kullanılamaz
shadi

bakınız packages.ntop.org/apt-stable ubuntu sonraki sürümlerinde repo için. ayrıcaapt-get install ntopng
dw1

7

Başka bir alternatif iptraf. Sürecin PID'sini kaçırmaz, ancak hangi bağlantının ne kadar bant genişliği kullandığını size söyler.


6

Geç cevap, ama aynı problem vardı. Ubuntuone olduğu ortaya çıktı. Bunu tcpdump çalıştırarak buldum. Proses tanımlamasında aynı öğrenme eğrisinden geçtim.

Gönderen notlarımı :

Ubuntu kutusu bağlantı bilgisi

Birkaç dakika sonra İnternet bağlantısının süründüğünü bulmak için bu sabah Ubuntu 10.04 masaüstümü başlattım. Bunu daha önce Windows kutularında ve casus yazılımların% 99'unda gördüm. Bu yüzden, komut satırı stilini araştırmam gerekiyordu.

tcpdump. Ubuntuone'un delirdiğini gösterir.

Sistem> Tercihler> Ubuntu Bir. Tüm senkronizasyonu kapatın. Bu yaptı.

Bu yüzden tüm ağ bağlantılarını ve ne yaptıklarını görmek istiyorum. yapabilirim

netstat -cW (ağ adreslerini sürekli olarak geniş formatta listeleyin, böylece yabancı adreslerin kesilmemesi)

lsof -i |grep -v 'localhost' (herhangi birinin İnternet adresiyle eşleşen açık dosyaları listeler, localhost ile ilişkilendirilmiş açık dosyaları kaldırmak için grep - burada yerel ağ hizmetlerini etkilemeyeceği için yerel hizmetleri görmek istemediğimi düşündüm).

Alınacak bazı şeyler:

  1. Sorun giderme için Ubuntu günlükleri hakkında bilgi sahibi olmanız gerekir.
  2. Tcpdump hakkında daha fazla şey öğrenmeye ihtiyacım var, bu yüzden Daniel Miessler tarafından hazırlanan bu eğitimle başlayacağım .

Editörün notu: Bu cevap, yalnızca davet edilen kullanıcılar için tasarlanmış tinker'in blogspot makalesine atıfta bulundu . Bu cevabın dikkate değer olumlu yönleri olduğundan, çok değerli. Wayback Machine ile ilgili makalenin bir kopyasını buldum . Ve bunu buraya dahil etti.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.