Finn ut enkelt hvilken prosess bruker for mye båndbredde i Linux
Selv om det er mange nettverksovervåkingsverktøy tilgjengelig for Linux, overvåker de fleste nettverkstrafikk til og fra datamaskinen eller et bestemt grensesnitt. Det er imidlertid tider når du vil spikre ned en bestemt prosess som bruker for mye av båndbredden, og det er et verktøy, kalt NetHogs, som lar deg gjøre nettopp det.
I denne artikkelen vil vi diskutere grunnleggende om NetHogs, så vel som funksjonene det gir.
NetHogs
Ifølge verktøyets man-side er NetHogs et lite "nettopp" verktøy. I stedet for å bryte nettverkstrafikken ned per protokoll eller per delnett, som de fleste verktøy gjør, grupperer det båndbredde ved prosess.
Hvis det er plutselig mye nettverkstrafikk, kan du skyte opp NetHogs og umiddelbart se hvilken PID som forårsaker dette, noe som gjør det enkelt å identifisere programmer som har gått vill og plutselig tar opp båndbredden din. Siden NetHogs er avhengig av "/ proc", kjører den for øyeblikket bare på Linux.
Last ned / Installer
Brukere av Debian-baserte systemer som Ubuntu kan enkelt laste ned og installere verktøyet ved hjelp av følgende kommando:
sudo apt-get install nethogs
Hvis du bruker noen annen distribusjon, kan du sjekke ut detaljene som tilbys på NetHogs offisielle nettside. Et annet poeng som er verdt å merke seg er at verktøyet krever libpcap
og ncurses
, så sørg for at du har libncurses5-dev
og libpcap0.8-dev
installert.
bruk
NetHogs er ganske enkelt å bruke; bare kjør nethogs
kommandoen uten kommandolinjevalg, og det vil vise båndbredden som brukes av hver prosess. Følgende er et øyeblikksbilde av produksjonen som produseres av verktøyet på systemet mitt:
Som du kan se på skjermbildet, viser NetHogs-verktøyet detaljer som PID, brukernavn, prosess, nettverksgrensesnitt som brukes, og hvor raskt data blir sendt og mottatt.
Angi tilpasset oppdateringsfrekvens
Som standard oppdateres NetHogs utgang etter en forsinkelse på 1 sekund, men du kan bruke alternativet -d
kommandolinje for å angi denne forsinkelsen i henhold til ditt krav. For eksempel, for å angi en forsinkelse på 3 sekunder, bruk følgende kommando:
sudo nethogs -d 3
Angi grensesnitt
Du kan også spørre NetHogs å overvåke trafikk på et bestemt nettverksgrensesnitt ved å spesifisere grensesnittnavnet på kommandolinjen. For eksempel, for å overvåke trafikk på eth1
, kan du bruke følgende kommando:
sudo nethogs eth1
Merk : Du kan bruke alternativet -p
kommandolinje til å snuse trafikken i promiskuøs modus, men det anbefales ikke.
Tastatursnarveier
Verktøyet gir også noen hurtigtaster som du kan bruke til å kontrollere måten utgangen vises på. For eksempel, mens kommandoen kjører, kan du trykke på "m" -tasten for å endre enhetene der sendte og mottatte data vises. Hver gang du trykker på tasten, vil enheten sykle mellom kb / s, kb, b, og mb.
Her er et eksempel der trafikk vises i MB:
På samme måte kan du trykke på "s" og "r" for å sortere utgangen av data sendt og mottatt, henholdsvis. Og som alltid er "q" for å avslutte produksjonen.
Konklusjon
NetHogs er ideelt for tilfeller når du vil fange og drepe prosessen som virker uventet ved å spise mye båndbredde. I tillegg er det et åpen kildekodeverktøy, som betyr at du kan studere hvordan det fungerer, og kan til og med tilpasse det slik du vil.
Har du noen gang brukt NetHogs eller noe annet lignende verktøy? Hvordan var din erfaring? Del dine tanker i kommentarene nedenfor.