Porady Admina: sysstat
Ostatnia aktualizacja: 16 września 2023, 12:49
W dzisiejszym wpisie z cyklu Porady Admina zajmiemy się programem sysstat.
Sysstat to narzędzia dla Linuksa mierzące wydajność systemu.
Pakiet sysstat zawiera następujące narzędzia do pomiaru wydajności systemu:
– sar: zbiera i raportuje informacje o aktywności systemu;
– iostat: raportuje użycie CPU oraz statystyki wejścia/wyjścia dysków;
– tapestat: raportuje statystyki dotyczące taśm podłączonych do systemu;
– mpstat: raportuje statystyki globalne i dla każdego procesora;
– pidstat: raportuje statystyki dla zadań Linuksa (procesów);
– sadf: wyświetla dane zebrane przez sar w różnych formatach;
– cifsiostat: raportuje statystyki wejścia/wyjścia dotyczące systemów plików CIFS.
Najważniejsze cechy Sysstat:
– Wyświetla średnie wartości statystyk na końcu raportów.
– Wykrywanie w locie nowych urządzeń (dysków, interfejsów sieciowych, itp.), które są tworzone lub rejestrowane dynamicznie.
– Obsługa maszyn UP i SMP, w tym maszyn z procesorami hiperwątkowymi lub wielordzeniowymi.
– Obsługa procesorów hotplug (wykrywa automagicznie procesory, które są wyłączone lub włączone w locie) i procesorów bez tykania.
– Działa na wielu różnych architekturach, 32- lub 64-bitowych.
– Potrzebuje bardzo mało czasu procesora do uruchomienia (napisane w C).
– Statystyki systemowe zebrane przez sar/sadc można zapisać w pliku do przyszłego wglądu. Możesz skonfigurować długość historii danych do przechowywania. Nie ma limitu długości tej historii, ale ilość wolnego miejsca na urządzeniu pamięci masowej.
– Statystyki systemowe zebrane przez sar/sadc mogą być eksportowane w różnych formatach (CSV, XML, JSON, SVG itp.). Dokumenty DTD i XML Schema są zawarte w pakiecie sysstat. Format wyjściowy JSON jest również dostępny dla poleceń mpstat i iostat.
– iostat może wyświetlać statystyki dla urządzeń zarządzanych przez sterowniki w przestrzeni użytkownika, takich jak spdk.
– Inteligentne wyświetlanie w kolorze dla łatwiejszego odczytywania statystyk.
– Obsługa internacjonalizacji (sysstat został przetłumaczony na wiele różnych języków). Sysstat jest teraz częścią projektu tłumaczeniowego.
– Polecenia Sysstat mogą automatycznie wybrać jednostkę używaną do wyświetlania rozmiarów, aby ułatwić odczyt (patrz opcja –human):
– Wykresy można generować (format SVG – Scalable Vector Graphics) i wyświetlać w ulubionej przeglądarce internetowej.
Sysstat zawiera również narzędzia, które można zaplanować za pomocą crona lub systemd w celu gromadzenia i tworzenia historii danych dotyczących wydajności i aktywności:
– sar zbiera, raportuje i zapisuje informacje o aktywności systemu (patrz poniżej lista metryk zbieranych przez sar).
– sadc to system zbierający dane o aktywności, używany jako backend dla sar.
– sa1 zbiera i przechowuje dane binarne w pliku danych dziennych aktywności systemu. Jest to nakładka na sadc zaprojektowana do uruchamiania z crona lub systemd.
– sa2 sporządza podsumowanie dziennego raportu z działalności. Jest to front-end do sar zaprojektowany do uruchamiania z crona lub systemd.
– sadf wyświetla dane zebrane przez sar w wielu formatach (CSV, XML, JSON itp.) i może być używany do wymiany danych z innymi programami. To polecenie może być również używane do rysowania wykresów dla różnych działań zebranych przez sar przy użyciu formatu SVG (Scalable Vector Graphics).
Statystyki systemowe zbierane przez sar:
– Statystyki wejścia / wyjścia i szybkości transferu (globalne, na urządzenie, na partycję i na sieciowy system plików)
– Statystyki procesorów (globalne i per CPU), w tym obsługa architektur wirtualizacji
– Statystyki wykorzystania pamięci, ogromnych stron i przestrzeni wymiany
– Pamięć wirtualna, statystyki stronicowania i błędów
– Aktywność tworzenia procesu
– Statystyki przerwań (globalne, na procesor i na przerwanie, w tym potencjalne źródła przerwań APIC, przerwania sprzętowe i programowe)
– Rozbudowane statystyki sieciowe: aktywność interfejsu sieciowego (liczba pakietów i kB odebranych i przesłanych na sekundę itp.), w tym awarie urządzeń sieciowych; statystyki ruchu sieciowego dla protokołów IP, TCP, ICMP i UDP w oparciu o standardy SNMPv2; obsługa protokołów związanych z IPv6
– Statystyki ruchu Fibre Channel
– Statystyki przetwarzania sieci (softnet) oparte na oprogramowaniu
– Aktywność serwera i klienta NFS
– Statystyki gniazd
– Uruchom statystyki kolejki i obciążenia systemu
– Statystyki wykorzystania wewnętrznych tabel jądra
– Zamiana statystyk
– Aktywność urządzeń TTY
– Statystyki zarządzania energią (chwilowa i średnia częstotliwość taktowania procesora, prędkość wentylatorów, temperatura urządzeń, wejścia napięciowe)
– Urządzenia USB podłączone do systemu
– Wykorzystanie systemów plików (i-węzły i bloki)
– Statystyki informacji o ciśnieniu i utknięciu
Pakiet sysstat dostępny jest w repozytoriach większości dystrybucji Linux i można go zainstalować za pomocą menadżera pakietów.
Przykłady
Zobacz bieżące użycie procesora
sar -u
Aby zobaczyć użycie procesora w czasie rzeczywistym 5 razy z różnicą 1 sekundy.
sar -u 1 5
Aby wyświetlić szczegóły wykorzystania każdego rdzenia procesora z osobna, użyj polecenia -P ALL.
sar -P ALL 1 3
Zobacz użycie urządzenia
iostat -d 1 5
Zobacz wykorzystanie zasobów procesu uruchomionego
pidstat -d
Dane o wykorzystaniu pamięci
sar -r 1 5
Więcej informacji o narzędziu sysstat uzyskasz na stronie podręcznika:
man sysstat