Můžeme použít příkaz htop k zobrazení seznamu všech běžících procesů našeho serveru Linux. Ale co když chceme sledovat, kolik šířky pásma disku každý z těchto procesů spotřebovává? Můžeme použít iotop.
iotop je interaktivní nástroj pro monitorování I / O v systému Linux, stejně jako htop. S iotopem můžete snadno sledovat využití šířky pásma disku pro čtení a zápis pro každý běh zpracovaný v Linuxu.
V tomto článku vám ukážu, jak nainstalovat iotop na populární distribuce Linuxu a jak používat iotop ke sledování využití šířky pásma disku při čtení a zápisu na běžící proces. Budu používat Ubuntu 18.04 LTS pro demonstraci, ale stejné příkazy by měly fungovat na všech moderních linuxových distribucích. Pojďme tedy začít.
Instalace iotop na Ubuntu:
iotop je k dispozici v oficiálním úložišti balíků Ubuntu. Iotop si tedy můžete snadno stáhnout pomocí správce balíčků APT.
Nejprve aktualizujte mezipaměť úložiště balíčků APT pomocí následujícího příkazu:
$ sudo apt aktualizace
Nyní nainstalujte iotop pomocí následujícího příkazu:
$ sudo apt install iotop
iotop by měl být nainstalován.
Nyní zkontrolujte, zda iotop pracuje pomocí následujícího příkazu:
$ iotop - verzeiotop funguje, jak vidíte.
Instalace iotop na CentOS 7:
iotop je k dispozici v oficiálním úložišti balíků CentOS 7. Můžete jej snadno nainstalovat pomocí správce balíčků YUM následujícím způsobem:
$ sudo yum install iotop -y
Základní použití iotopu:
Chcete-li monitorovat využití disku všech spuštěných procesů pomocí iotop, spusťte iotop následujícím způsobem:
$ sudo iotop
Jak vidíte, otevře se interaktivní okno iotop. Zde můžete vidět, který proces používá disk.
Jak vidíte na následujícím obrázku, v levé horní části se zobrazuje celková rychlost čtení / šířka pásma disku. Stejným způsobem je v pravé horní části zobrazena celková rychlost zápisu na disk / šířka pásma.
Jak vidíte, iotop zobrazuje sloupce pro,
- ID vlákna (TID).
- Třída / úroveň priority I / O (PRIO).
- vlastník vlákna s TID (UŽIVATEL).
- čtení disku za sekundu (PŘEČTĚTE DISK).
- zápis na disk za sekundu (PÍSEJTE DISK).
- procento času, které vlákno strávilo výměnou (SWAPIN).
- procento času, které vlákno strávilo čekáním na I / O (IO>).
- příkaz, který vlákno běží (PŘÍKAZ).
Ve většině případů je ID vlákna (TID) ekvivalentní ID procesu (PID).
Zobrazení procesů provádějících pouze I / O operace:
Ve výchozím nastavení zobrazuje iotop všechny běžící procesy bez ohledu na to, zda provádějí I / O operace. Seznam je tedy velmi dlouhý. Je těžší najít procesy, které potřebujeme, a sledovat je.
Naštěstí vám iotop umožňuje zobrazit pouze procesy, které provádějí I / O operace. K tomu můžete použít -Ó nebo -pouze možnost iotop.
Chcete-li zobrazit pouze procesy provádějící I / O operace, spusťte iotop následujícím způsobem:
$ sudo iotop -oNebo
$ sudo iotop - pouze
Jak vidíte, proces s TID 1345 a 1957 právě teď provádí I / O operace.
Toto je příkaz, který používám k simulaci operací I / O v tomto článku.
$ dd if = / dev / urandom of = iotest.img bs = počet 1M = 1000
POZNÁMKA: Pokud jste nezačali iotop s -Ó nebo -pouze i nadále můžete přepnout do tohoto režimu stisknutím tlačítka Ó na klávesnici. Mezi těmito 2 režimy iotopu můžete přepínat pomocí Ó klíč.
Zobrazení celkového využití I / O na proces:
iotop také umožňuje sledovat, kolik disků načte a zapíše celkem, co každý proces udělal i po spuštění iotop. K tomu musíte použít -A nebo -nahromaděné volba. Můžete jej také použít s -Ó nebo -pouze také možnost.
Například,
$ sudo iotop -aoJak vidíte, zobrazí se celkový počet přečtených disků a zápisů na disk pro každý proces.
Zobrazení PID místo TID:
Jak jsem uvedl dříve, ID vlákna (TID) je po většinu času stejné jako ID procesu (PID). Můžete je použít zaměnitelně. Ale pokud si opravdu chcete být jisti, že pracujete s přesně ID procesu (PID), pak iotop má -P nebo -procesy možnost, kterou můžete použít ke změně výchozího sloupce TID na sloupec PID.
Chcete-li místo sloupce TID zobrazit sloupec PID, spusťte iotop následujícím způsobem:
$ sudo iotop -PNebo
$ sudo iotop - procesy
Jak vidíte, sloupec TID je nahrazen sloupcem PID.
Filtrování procesů iotop:
Procesy iotop můžete filtrovat na základě ID procesu (PID), ID vlákna (TID) a zpracovaného vlastníka (USER).
Například pokud chcete monitorovat I / O disku procesů pouze s PID 2024 a 2035, spustili byste iotop takto:
$ sudo iotop -P -p 2024 -p 2035
Jak vidíte, sledovány jsou pouze procesy s PID 2024 a 2035.
Pokud byste chtěli monitorovat I / O disku vláken pouze s TID 2024 a 2035, spustili byste iotop následovně:
$ sudo iotop -P -p 2024 -p 2035Znovu řekněme, že chcete monitorovat I / O disku procesů spuštěných jako uživatel šovon. Chcete-li to provést, spusťte iotop následujícím způsobem:
$ sudo iotop -P -u shovon
Jak vidíte, pouze procesy běžící jako uživatel šovon je zobrazen.
Pokud chcete sledovat více uživatelů najednou, můžete to udělat také.
Například ke sledování I / O disků všech procesů, které uživatelé provádějí šovon a lilie běží, spusťte iotop následujícím způsobem:
$ sudo iotop -P -u shovon -u lilyTakže v zásadě používáte iotop ke sledování I / O disků v Linuxu. Děkujeme za přečtení tohoto článku.