Přístup k internetu se stal v dnešní době naprostou nutností. Možná se ale ptáte, které procesy ve vašem systému Linux nejvíce zatěžují vaše internetové připojení. Dobrou zprávou je, že existuje několik standardních nástrojů pro Linux, které vám umožní jednoduše sledovat, které programy nejvíce využívají šířku pásma vaší sítě. Pojďme se na ně podívat:
MUO VIDEO DNE
POKRAČOVÁNÍ V OBSAHU NÁSLEDUJE
1. nethogs
nethogs je nástroj, který v oblasti internetového připojení funguje podobně jako htop nebo top při sledování využití CPU a paměti. Nabízí vám aktuální přehled o tom, které procesy momentálně komunikují se sítí.
Podobně jako top, htop nebo atop, i nethogs je program s celoobrazovkovým zobrazením, který se v pravidelných intervalech aktualizuje a ukazuje vám aktuální síťové aktivity jednotlivých procesů.
Instalace nethogs je velmi jednoduchá, stačí použít správce balíčků vaší distribuce.
Například na systémech Debian a Ubuntu:
sudo apt install nethogs
A na Arch Linuxu:
sudo pacman -S nethogs
V případě distribucí odvozených od Red Hat:
sudo dnf install nethogs
Pro spuštění nethogs budete potřebovat práva roota:
sudo nethogs
Je také možné nastavit nethogs tak, aby jej mohl spouštět běžný uživatel. To provedete následujícím příkazem:
sudo setcap "cap_net_admin,cap_net_raw+pe" /cesta/k/nethogs
Místo „/cesta/k/nethogs“ vložte skutečnou cestu k spustitelnému souboru nethogs. Tuto cestu zjistíte pomocí příkazu:
which nethogs
2. lsof
lsof, původně nástroj pro zobrazování otevřených souborů, umí také zobrazit seznam otevřených síťových připojení. Pomocí volby -i si vyžádáte zobrazení všech internetových připojení spojených s běžícími procesy. V Linuxu je totiž „vše soubor“.
Pro zobrazení aktuálních internetových připojení použijte příkaz:
lsof -i
lsof vám zobrazí jména všech programů s otevřenými internetovými připojeními, jejich PID (identifikátor procesu), deskriptor souboru, typ připojení, velikost, protokol a formální název souboru připojení.
Volby -i4 a -i6 vám umožní zobrazit pouze připojení využívající IPv4, resp. IPv6.
Je velmi pravděpodobné, že lsof je již ve vašem systému nainstalován. Pokud ne, jeho instalace je velmi snadná na většině hlavních distribucí Linuxu.
Na Debianu a Ubuntu zadejte:
sudo apt install lsof
A na Archu:
sudo pacman -S lsof
Pro distribuce z rodiny Red Hat:
sudo dnf install lsof
3. netstat
netstat je samostatný, velmi výkonný nástroj, který umí zobrazit síťová připojení vašeho systému. Sám o sobě vám však neukáže, ke kterým procesům daná připojení patří. Podobně jako u lsof, i zde můžete toto zjistit pomocí specifické volby příkazové řádky.
netstat je součástí balíčku net-tools. Tento balíček můžete nainstalovat pomocí správce balíčků ve většině linuxových distribucí.
Například v Debianu nebo Ubuntu:
sudo apt install net-tools
Na Arch Linuxu:
sudo pacman -S net-tools
Pro instalaci netstat na Fedoru, CentOS a RHEL spusťte:
sudo dnf install net-tools
netstat můžete spustit přímo z příkazového řádku. Standardně vám zobrazí informace o protokolu, adrese a stavu připojení. Volba -p ale přidá sloupec s ID procesu (PID) a názvem programu.
netstat -p
Po spuštění netstat zobrazí všechna síťová připojení a ukončí se. S volbou -c můžete zobrazit průběžně aktualizovaný seznam připojení:
netstat -pc
Tím získáte podobný výsledek, jako s celoobrazovkovým programem jako je nethogs. Výhodou tohoto přístupu je ale možnost zpracovat výstup dalším programem, jako je například grep nebo pager:
netstat -p | grep 'systemd'
Pro zobrazení všech procesů se síťovými připojeními v systému, bude možná potřeba spustit netstat s právy roota:
sudo netstat
Nyní máte přehled o tom, které aplikace v Linuxu vám „ují“ šířku pásma
Linux, podobně jako mnoho moderních operačních systémů, je úzce spojen s internetem. Občas může být složité zjistit, které procesy právě využívají vaší šířku pásma. S pomocí nástrojů jako nethogs, lsof a netstat můžete sledovat procesy, které mají otevřená síťová připojení.
Někdy se procesy mohou „zaseknout“, i s aktivním připojením. V Linuxu můžete snadno ukončit jakékoliv problematické procesy.