Chcete-li získat živý náhled na vstup a výstup nebo krátké I/O, využití šířky pásma vašeho systému, zadejte iotop. iotop je třeba spustit s uživatelem root. Pomocí iotop můžete například zjistit, jak rychle dokáže váš pevný disk číst a zapisovat, a poté stiskněte klávesu q pro ukončení. Přečtěte si prosím část manuálu na iotop, kde se dozvíte více o jeho zkratkách, například pro řazení sloupců.
iotop není předinstalovaný u většiny distribucí Linuxu, budete jej muset nainstalovat pomocí správce balíčků. Například v systému založeném na CentOS/RHEL nainstalujte balíček iotop pomocí níže uvedeného příkazu:
# yum install iotop
Jednoduše použijte níže uvedený příkaz ke spuštění nástroje iotop:
# iotop
Zobrazí výstup jako v následujícím příkladu:
Total DISK READ : 0.00 B/s | Total DISK WRITE : 88.95 M/s Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 88.95 M/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 27236 be/4 root 0.00 B/s 88.95 M/s 0.00 % 87.91% dd if=/dev/zero of=test.zero bs=1024k count=1000 oflag=direct conv=notrunc 25600 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % less -s 1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % systemd --switched-root --system --deserialize 22 2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd] 3 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0] 6 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/u30:0] 7 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_sched]
Ze zde uvedených sloupců nás mohou zajímat následující:
- TID :Tento sloupec poskytuje PID procesu, který odesílá požadavky na vstup/výstup. To lze použít k prozkoumání nebo ukončení programu.
- ČTENÍ DISKU :Tento sloupec znázorňuje počet bajtů přečtených za sekundu uvedeným procesem.
- ZAPIS NA DISK :Tento sloupec uvádí počet bajtů zapsaných za sekundu uvedeným procesem.
- IO :Tento sloupec zobrazuje procento času, který uvedený proces strávil vydáváním požadavků I/O.
- PŘÍKAZ :Tento sloupec zobrazuje název procesu, který zpracovává I/O. Pokud se jedná o hlavní proces, může zahrnovat také přepínače příkazového řádku.
Spuštění iotop bez jakýchkoli argumentů bude mít za následek seznam všech existujících procesů bez ohledu na jejich diskové I/O aktivity, takže pokud chcete, aby iotop hlásil pouze procesy, které se zavázaly k diskové I/O aktivitě, měli byste místo toho použít následující:
# iotop –o
Příklady příkazů iotop
1. Pro nepřetržité monitorování použijte následující příkaz:
# iotop -o
Volba -o říká iotopu, aby zobrazoval pouze ty procesy, které za běhu provádějí aktivní I/O, čímž se snižuje šum ve výstupu.
2. Volba -n říká iotopu, aby běžel N-krát a skončil:
# iotop -b -n 2
3. Volba -p monitoruje konkrétní proces:
# iotop -p PID
Zde je PID proces, který chcete monitorovat.
4. Ve většině moderních distribucí můžete místo hledání PID a jeho předání iotopu použít příkaz pidof a napsat předchozí příkaz následovně:
# iotop -p `pidof cp`
5. Společně s parametrem -o lze tyto parametry použít k tomu, aby iotop vytiskl pouze procesy využívající I/O, aniž by bylo nutné vymazat obrazovku pro další iteraci:
# iotop -o -q -n2
Ve výchozím nastavení je zpoždění mezi iteracemi iotop 1 sekunda; to však lze upravit pomocí parametru -d (zpoždění).
6. Více o iotop se můžete dozvědět takto:
$ man iotop
Shrnutí
Každý administrátor ví, že systém se může začít zpomalovat v důsledku náročných diskových I/O aktivit. V roli poradce při potížích však pravděpodobně budete chtít vědět, které procesy nebo (v případě víceuživatelských systémů) kteří uživatelé jsou na vině, a právě z tohoto důvodu se budete chtít obrátit na iotop. Tento nástroj zobrazuje seznam nejnáročnějších I/O procesů v reálném čase ve špičkovém rozhraní.