Iotop je bezplatný nástroj s otevřeným zdrojovým kódem podobný příkazu top, který poskytuje snadný způsob sledování podrobností o využití I/O disku v Linuxu a vypíše tabulku stávajícího využití I/O podle procesů nebo vláken v systémech.
Nástroj Iotop je založen na programování v jazyce Python a pro sledování a zobrazení procesů vyžaduje účetní funkci jádra. Je to velmi užitečný nástroj pro správce systému, který umožňuje sledovat konkrétní proces, jenž může způsobovat vysoký počet čtení/zápisů diskových vstupů/výstupů.
Předpoklady pro program iotop
- Jádro 2.6.20 nebo vyšší
- Python 2.7 nebo vyšší
Tento článek vysvětluje, jak nainstalovat program iotop pro monitorování a sledování vstupů/výstupů zařízení Linuxu (vstup/výstup) na základě jednotlivých procesů v systémech Linux.
Instalace nástroje Iotop pro sledování diskových vstupů/výstupů v Linuxu
Jak jsem již výše uvedl, iotop vyžaduje nejnovější jádro 2.6.20 a Python 2.7, aktualizujme nejprve obojí pomocí následujícího příkazu.
-------------- On RHEL, CentOS and Fedora -------------- # yum update -------------- On Fedora 22+ Releases -------------- # dnf update-------------- On Debian, Ubuntu and Linux Mint -------------- # apt-get update
Dále ověřte verzi jádra a Pythonu příkazem:
# uname -r# python -V
Důležité: V době psaní tohoto článku používá CentOS/RHEL 5.x starší verzi Pythonu a není možné nainstalovat iotop. Mohou však použít program dstat, který plní podobnou funkci jako iotop.
Instalace iotopu pomocí správce balíčků
Pro instalaci iotopu ze správce balíčků vyberte příslušný příkaz z následujícího seznamu.
-------------- On RHEL, CentOS and Fedora -------------- # yum install iotop-------------- On Fedora 22+ Releases -------------- # dnf install iotop-------------- On Debian, Ubuntu and Linux Mint -------------- # apt-get install iotop
Důležité: Instalací iotopu z výchozích repozitářů získáte starší verzi. Pokud chcete mít nejnovější verzi iotopu, zvažte kompilaci ze zdrojových kódů podle následujících pokynů.
Instalace iotopu ze zdrojových kódů
Chcete-li nainstalovat nejnovější verzi iotopu, přejděte na oficiální stránku projektu, stáhněte si nejnovější zdrojový balíček a zkompilujte jej ze zdrojových kódů pomocí následující série příkazů:
# wget http://guichaz.free.fr/iotop/files/iotop-0.6.tar.bz2# tar -xjvf iotop-0.6.tar.bz2# cd iotop-0.6/# ./setup.py install
Důležité: iotop můžete spustit v adresáři i.e. (spuštěním ./iotop.py
) nebo můžete spustit instalační příkaz ./setup.py install
pro instalaci iotopu v adresáři /usr/bin:
Jak používat iotop v Linuxu
Nejjednodušší je spustit iotop bez argumentů podle obrázku.
# iotop
Měli byste získat seznam běžících procesů spolu s informacemi o jejich aktuálním využití I/O na disku:
Záhlaví jednotlivých sloupců je srozumitelné, ale je třeba si uvědomit dvě důležité věci:
- IO – Sloupec „IO“ zobrazuje celkové využití I/O (disk a swap) pro každý proces.
- SWAPIN – Sloupec „SwapIn“ zobrazuje využití swapu pro každý proces.
Doporučuji začít používat iotop s volbou -o nebo -only, abyste viděli aktuální procesy nebo vlákna skutečně provádějící I/O, místo sledování všech procesů nebo vláken.
# iotop --only
Získávání upozornění na diskovou I/O aktivitu v Linuxu
Pomocí programu pro plánování úloh cron můžete každou minutu spouštět iotop, který bude sledovat všechny zjištěné I/O aktivity a posílat upozornění na vaši e-mailovou adresu.
# vi /etc/cron.d/iotop
A do souboru přidejte následující řádky:
[email protected]* * * * * root iotop -botqqq --iter=3 >> /var/log/iotop
Pokud chcete, můžete výše uvedený příkaz upravit podle svých požadavků.
Chcete-li se dozvědět více o použití a možnostech programu iotop, spusťte následující příkaz a prohlédněte si manuálové stránky.
# man iotop
Několik důležitých použití programu iotop a klávesových zkratek.
- Přesunutím klávesy se šipkou doleva nebo doprava změníte řazení.
- Pomocí volby -version zobrazíte číslo verze a ukončíte program.
- Pomocí volby -h zobrazíte informace o použití.
- Pomocí volby -r obrátíte pořadí řazení.
- Pomocí volby -o zkontrolujete procesy nebo vlákna.
- Pomocí volby -b zapnete neinteraktivní režim a povolíte protokolování využití I/O.
- Pomocí volby -p PID vypíšete všechny sledované procesy/vlákna.
- Pomocí volby -u USER vypíšete všechny sledované uživatele.
- Pomocí volby -P vypíšete pouze procesy. Normálně iotop zobrazuje všechna vlákna.
- Použijte volbu -a pro kontrolu kumulovaných I/O místo šířky pásma.
Všechny výše uvedené volby iotop jsou poměrně jednoduché. Rozhraní vypadá a funguje téměř stejně jako linuxový příkaz top.
Iotop může být velmi užitečný při sledování linuxových procesů, které využívají velké množství odkládací paměti nebo způsobují velkou aktivitu diskových IO.