Iotop jest otwartym i darmowym narzędziem podobnym do polecenia top, które zapewnia łatwy sposób monitorowania Linux Disk I/O usage details and prints a table of existing I/O utilization by process or threads on the systems.
Iotop tool is based on Python programming and requires Kernel accounting function to monitor and display processes. Jest to bardzo przydatne narzędzie dla administratora systemu do śledzenia konkretnych procesów, które mogą powodować wysoki poziom odczytu/zapisu na dysku.
Wymagania wstępne
- Kernel 2.6.20 lub wyższy
- Python 2.7 lub wyższy
Ten artykuł wyjaśnia, jak zainstalować program iotop do monitorowania i śledzenia urządzeń Linux I/O (wejście/wyjście) na zasadzie per-proces w systemach Linux.
Instalacja Iotop Disk I/O Monitoring Tool w Linuksie
Jak już powiedziałem powyżej, że iotop wymaga najnowszego Kernela 2.6.20 i Pythona 2.7, najpierw zaktualizujmy je oba za pomocą poniższej komendy.
-------------- On RHEL, CentOS and Fedora -------------- # yum update -------------- On Fedora 22+ Releases -------------- # dnf update-------------- On Debian, Ubuntu and Linux Mint -------------- # apt-get update
Następnie zweryfikuj wersję jądra i Pythona uruchamiając:
# uname -r# python -V
Important: W czasie pisania tego tekstu, CentOS/RHEL 5.x używa starszej wersji Pythona i nie jest możliwe zainstalowanie iotopa. Można jednak użyć programu dstat, który wykonuje podobną funkcję co iotop.
Instalacja iotop za pomocą menedżera pakietów
Aby zainstalować iotop z menedżera pakietów, wybierz odpowiednie polecenie z poniższej listy.
-------------- 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
Important: Instalacja iotop z domyślnych repozytoriów da ci starszą wersję. Jeśli chcesz mieć najnowszą wersję iotop, rozważ kompilację ze źródła używając następujących instrukcji.
Install iotop from Source
Aby zainstalować najnowszą wersję iotop, przejdź na oficjalną stronę projektu i pobierz najnowszy pakiet źródłowy i skompiluj go ze źródła używając następującej serii poleceń:
# 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
Important: Możesz uruchomić iotop wewnątrz katalogu i.e. (uruchamiając ./iotop.py
) lub możesz uruchomić polecenie instalatora ./setup.py install
, aby zainstalować iotop pod /usr/bin:
Jak używać iotop w Linuksie
W najprostszy sposób możesz wykonać iotop bez żadnych argumentów, jak pokazano.
# iotop
Powinieneś otrzymać listę uruchomionych procesów wraz z informacją o ich bieżącym użyciu I/O na dysku:
Każdy nagłówek kolumny nie wymaga wyjaśnień, ale są dwie ważne rzeczy do rozważenia tutaj:
- IO – Kolumna „IO” wyświetla całkowite użycie I/O (dysk i swap) dla każdego procesu.
- SWAPIN – Kolumna „SwapIn” wyświetla użycie swapu dla każdego procesu.
Zalecam zacząć używać iotop z opcją -o lub -only aby zobaczyć aktualne procesy lub wątki faktycznie wykonujące I/O, zamiast oglądać wszystkie procesy lub wątki.
# iotop --only
Uzyskaj alerty o aktywności operacji wejścia/wyjścia dysków w systemie Linux
Możesz użyć programu planującego zadania cron aby uruchamiać iotop co minutę w celu śledzenia jakiejkolwiek aktywności wejścia/wyjścia, którą wykryje i wysłać alert na twój adres email.
# vi /etc/cron.d/iotop
I dodaj następujące linie do pliku:
[email protected]* * * * * root iotop -botqqq --iter=3 >> /var/log/iotop
Jeśli chcesz, możesz dostosować powyższe polecenie do swoich wymagań.
Aby dowiedzieć się więcej o użyciu i opcjach programu iotop, uruchom następujące polecenie, aby sprawdzić strony man.
# man iotop
Kilka ważnych użyć iotop i skrótów klawiaturowych.
- Przesuń lewy lub prawy klawisz strzałki, aby zmienić sortowanie.
- Użyj opcji -version, aby zobaczyć numer wersji i wyjść.
- Użyj opcji -h, aby zobaczyć informacje o użyciu.
- Użyj opcji -r, aby odwrócić kolejność sortowania.
- Użyj opcji -o, aby sprawdzić procesy lub wątki.
- Użyj opcji -b, aby włączyć tryb nieinteraktywny i włączyć rejestrowanie użycia We/Wy.
- Użyj opcji -p PID, aby wyświetlić listę wszystkich procesów/wątków do monitorowania.
- Użyj opcji -u USER, aby wyświetlić listę wszystkich użytkowników do monitorowania.
- Użyj opcji -P, aby wyświetlić tylko procesy. Normalnie iotop wyświetla wszystkie wątki.
- Użyj opcji -a, aby sprawdzić skumulowane I/O zamiast przepustowości.
Wszystkie powyższe opcje iotop są dość proste. Interfejs wygląda i działa dokładnie tak samo jak linuksowe polecenie top.
Iotop może być bardzo przydatny w namierzaniu procesów linuksowych, które wykorzystują dużą ilość pamięci wymiany lub powodują dużą ilość operacji wejścia/wyjścia na dysku.
.