Porady Admina: pidstat
Ostatnia aktualizacja: 16 stycznia 2025, 11:55
W dzisiejszym wpisie z cyklu Porady Admina zajmiemy się programem pidstat.
pidstat raportuje statystyki dla zadań Linuksa (procesów); jest częścią pakietu sysstat.
Polecenie pidstat służy do monitorowania poszczególnych zadań, które są aktualnie zarządzane przez jądro Linux. Zapisuje ono do standardowych działań wyjściowych dla każdego zadania wybranego opcją -p lub dla każdego zadania zarządzanego przez jądro Linux, jeśli użyto opcji -p ALL. Niewybranie żadnego zadania jest równoważne określeniu opcji -p ALL, ale w raporcie pojawią się tylko aktywne zadania (zadania z wartościami statystyk innymi niż zero).
Polecenie pidstat można również wykorzystać do monitorowania procesów podrzędnych wybranych zadań.
Parametr interwału określa ilość czasu w sekundach między każdym raportem. Wartość 0 (lub brak parametrów) oznacza, że statystyki zadań mają być raportowane dla czasu od uruchomienia systemu (boot). Parametr count można określić łącznie z parametrem interval, jeśli ten nie jest ustawiony na zero. Wartość count określa liczbę raportów generowanych w odstępie sekund. Jeśli parametr interval jest określony bez parametru count, polecenie pidstat generuje raporty w sposób ciągły.
Możesz wybrać informacje o określonych czynnościach zadania za pomocą flag. Nieokreślenie żadnych flag powoduje wybranie tylko czynności CPU.
Składnia
pidstat [ opcje ] [ interwał [ liczba ] ] [ -e program argumenty ]
Opcje
-C comm : Wyświetlaj tylko zadania, których nazwa polecenia zawiera ciąg comm
-d : Raportuj statystyki wejścia/wyjścia
–dec={ 0 | 1 | 2 } : Określ liczbę miejsc dziesiętnych (od 0 do 2, wartość domyślna to 2)
-e program args : Wykonaj program z podanymi argumentami args i monitoruj go za pomocą pidstat
-G process_name : Wyświetl tylko procesy, których nazwa polecenia zawiera ciąg process_name
-H : Wyświetl znacznik czasu w sekundach od epoki
-h : Wyświetlaj wszystkie działania poziomo w jednym wierszu, bez statystyk średnich na końcu raportu
–human : Rozmiary wydruku w formacie czytelnym dla człowieka (np. 1,0k, 1,2M, itp.)
-I : W środowisku SMP wskaż, że użycie procesora przez zadania (wyświetlane przez opcję -u) powinno być podzielone przez całkowitą liczbę procesorów
-l : Wyświetl nazwę polecenia procesu i wszystkie jego argumenty
-p { pid[,…] | SELF | ALL } : Wybierz zadania (procesy), dla których mają być raportowane statystyki. PID to numer identyfikacyjny procesu
-R : Raportuj w czasie rzeczywistym informacje o priorytetach i zasadach planowania
-r : Zgłaszaj błędy stron i wykorzystanie pamięci
-s : Zgłaszaj wykorzystanie stosu
-T { TASK | CHILD | ALL } : Ta opcja określa, co ma być monitorowane przez polecenie pidstat
-t : Wyświetlaj również statystyki dla wątków powiązanych z wybranymi zadaniami
-U [ username ] : Wyświetlaj prawdziwą nazwę użytkownika monitorowanych zadań zamiast UID
-u : Raportuj wykorzystanie procesora
-v : Raportuj wartości niektórych tabel jądra
-w : Raportuj aktywność przełączania zadań
Przykłady
Wyświetl statystyki dla WSZYSTKICH uruchomionych procesów (lub określonego procesu). Domyślnie wyświetla użycie procesora.
pidstat -p ALL | wc -l
Wyświetlanie statystyk wydajności na podstawie nazwy procesu za pomocą -C, np. apache
pidstat -C "apache2"
Powtórz dane wyjściowe w określonych odstępach czasu. Domyślnie dane wyjściowe nie będą powtarzane. Na przykład opcja -u służy do wyświetlania statystyk użycia procesora przez zadania, a są to domyślne statystyki podawane przez polecenie pidstat. To spowoduje wyświetlenie danych wyjściowych tylko raz.
pidstat -p 543234
Aby powtórzyć wyjście, określ interwał w sekundach jako ostatni parametr. Na przykład poniższy przykład powtórzy wyjście co 1 sekundę (aż naciśniesz Ctrl-C).
pidstat -p 543234 1
Użyj opcji -d, aby raportować statystyki I/O procesu. Poniższy przykład wyświetla użycie dysku dla PID 543234 co 2 sekundy.
pidstat -p 543234 -d 2
Wyświetl aktywność stronicowania dla określonego procesu za pomocą -r. Użyj opcji -r, aby wyświetlić błędy stronicowania i wykorzystanie pamięci dla danego zadania (PID).
pidstat -p 543234 -r 1
Więcej o poleceniu pidstat uzyskasz wpisując:
man pidstat
pidstat --help