Find ud af, hvilken proces der bruger for meget båndbredde i Linux
Mens der er mange netværkskontrolværktøjer til rådighed for Linux, overvåger de fleste af netværkstrafik til og fra din computer eller en bestemt grænseflade. Men der er tidspunkter, hvor du vil negle ned en bestemt proces, der bruger for meget af båndbredden, og der er et værktøj, der hedder NetHogs, som lader dig gøre netop det.
I denne artikel vil vi diskutere det grundlæggende i NetHogs samt de funktioner, det giver.
NetHogs
Ifølge hjælpeprogrammets man side er NetHogs et lille "net top" værktøj. I stedet for at nedbryde netværkstrafikken pr. Protokol eller pr. Undernet, grupperer den, ligesom de fleste værktøjer, båndbredde efter proces.
Hvis der pludselig er meget netværkstrafik, kan du slukke NetHogs og straks se, hvilket PID der forårsager dette, hvilket gør det nemt at identificere programmer, der er gået vildt og pludselig optager din båndbredde. Da NetHogs er stærkt afhængig af "/ proc", kører den i øjeblikket kun på Linux.
Hent / Installer
Brugere af Debian-baserede systemer som Ubuntu kan nemt downloade og installere værktøjet ved hjælp af følgende kommando:
sudo apt-get install nethogs
Hvis du bruger en anden distribution, kan du tjekke detaljerne på NetHogs officielle hjemmeside. Et andet punkt værd at bemærke er, at værktøjet kræver libpcap
og ncurses
, så sørg for at du har libncurses5-dev
og libpcap0.8-dev
installeret.
Anvendelse
NetHogs er ret nemt at bruge; bare kør nethogs
kommandoen uden nogen kommandolinje indstilling, og det vil vise båndbredden brugt af hver proces. Følgende er et snapshot af output produceret af værktøjet på mit system:
Som du kan se på skærmbilledet, viser NetHogs-værktøjet detaljer som PID, brugernavn, proces, netværksinterface, der bruges, og den hastighed, hvormed data sendes og modtages.
Indstil tilpasset opdateringsfrekvens
Som standard opdateres NetHogs output efter en forsinkelse på 1 sekund, men du kan bruge kommandolinjens -d
til at indstille denne forsinkelse som per dit krav. For at indstille en forsinkelse på 3 sekunder skal du bruge følgende kommando:
sudo nethogs -d 3
Angiv grænseflade
Du kan også bede NetHogs om at overvåge trafik på en bestemt netværksgrænseflade ved at angive grænsefladenavnet på kommandolinjen. For at overvåge trafik på eth1
kan du f.eks. Bruge følgende kommando:
sudo nethogs eth1
Bemærk : Du kan bruge kommandolinjen -p
til at snuse trafikken i promiskuøs tilstand, selv om det ikke anbefales.
Tastaturgenveje
Værktøjet giver også nogle tastaturgenveje, som du kan bruge til at styre måden output vises. For eksempel, mens kommandoen kører, kan du trykke på "m" tasten for at ændre de enheder, hvor der vises sendte og modtagne data. Hver gang du trykker på tasten, vil enheden cykle mellem kb / s, kb, b, og mb.
Her er et eksempel, hvor trafik vises i MB'er:
På samme måde kan du trykke på "s" og "r" for at sortere udgangen af data sendt og modtaget. Og som altid er "q" for at afslutte output.
Konklusion
NetHogs er ideel til tilfælde, hvor du vil fange og dræbe den proces, der virker uventet ved at spise en masse båndbredde. Plus, det er et open source-værktøj, hvilket betyder at du kan studere den måde, den virker på, og kan endda tilpasse den som du vil.
Har du nogensinde brugt NetHogs eller et andet lignende værktøj? Hvordan var din oplevelse? Del dine tanker i kommentarerne nedenfor.