iostat to narzędzie z pakietu sysstat, które pokazuje statystyki obciążenia procesora oraz urządzeń blokowych (dysków, partycji, wolumenów LVM). Krótko mówiąc: gdy serwer mieli, a Ty nie wiesz, czy winny jest CPU, czy dysk dławiący się operacjami I/O, iostat daje Ci na to odpowiedź. Dane czerpie z interfejsów jądra (/proc i /sys), a pierwszy wyświetlony raport to średnia od startu systemu, więc do realnej diagnozy zawsze uruchamiaj go z interwałem.
Składnia i najważniejsze opcje
Podstawowa składnia: iostat [opcje] [interwał [liczba]]
-c— pokazuje tylko raport wykorzystania CPU (user, system, iowait, idle).-d— pokazuje tylko raport urządzeń, bez sekcji CPU.-x— rozszerzone statystyki (await, %util, r/s, w/s) — najważniejsza opcja przy diagnozie wąskich gardeł.-k— wartości w kilobajtach na sekundę zamiast w blokach.-m— wartości w megabajtach na sekundę, czytelniejsze przy szybkich dyskach.-p— statystyki per urządzenie wraz z jego partycjami (np.-p sda).-t— dokleja znacznik czasu do każdego raportu.-z— pomija urządzenia, które w danym interwale nie miały żadnej aktywności.
Przykłady użycia
iostat— jednorazowy raport: średnie CPU i I/O od startu systemu. Dobre na szybki rzut oka, bezużyteczne do bieżącej diagnozy.iostat 2 5— pięć raportów co dwie sekundy. Tu dopiero widzisz, co dzieje się tu i teraz.iostat -xm 2— rozszerzone statystyki w MB/s, odświeżane co 2 sekundy, w nieskończoność (Ctrl+C kończy). Patrz na%utilblisko 100% i rosnącyawait— to dysk jest wąskim gardłem.iostat -dx sda nvme0n1 2— monitorujesz tylko wybrane urządzenia, bez szumu z reszty.iostat -p sda -tz 1— per partycja, ze znacznikami czasu, pomijając bezczynne urządzenia.
Częste błędy i pułapki
Najczęstszy błąd to wnioskowanie z pierwszego raportu — on uśrednia cały uptime i może maskować chwilowe przeciążenie. Zawsze podawaj interwał. Druga pułapka: %util przy dyskach SSD i macierzach NVMe potrafi pokazywać 100% mimo że sprzęt obsługuje równolegle wiele żądań, więc nie traktuj tej liczby jako wyroku — patrz raczej na await. Pamiętaj też, że iostat nie jest domyślnie zainstalowany: doinstaluj pakiet sysstat (apt install sysstat lub dnf install sysstat). Jeśli komenda nie istnieje, to nie błąd składni — po prostu brakuje pakietu.
Powiązane komendy: vmstat, mpstat, sar, pidstat, iotop, dstat.