CPUSTAT - monitoruje wykorzystanie procesora poprzez uruchamianie procesów w Linux

CPUSTAT - monitoruje wykorzystanie procesora poprzez uruchamianie procesów w Linux

Cpustat to potężny program pomiaru wydajności systemu dla Linux, napisany za pomocą języka programowania Go. Próbuje ujawnić wykorzystanie i nasycenie procesora w skuteczny sposób, przy użyciu metody nasycenia i błędów wykorzystania (metodologia analizy wydajności dowolnego systemu).

Wyodrębnia próbki większej częstotliwości każdego procesu wykonywanego w systemie, a następnie podsumowuje te próbki z niższą częstotliwością. Na przykład może mierzyć każdy proces każdy 200m i podsumuj te próbki 5 sekundy, w tym wartości min/średnie/maks. Dla niektórych wskaźników.

Sugerowane przeczytanie: 20 Narzędzia wiersza poleceń do monitorowania wydajności Linux

Cpustat Wyświetla dane na dwa możliwe sposoby: czysta lista tekstów interwału podsumowującego i kolorowy przewijanie pulpitu każdej próbki.

Jak zainstalować cpustat w Linux

Ty musisz mieć Go (Golang) zainstalowane w systemie Linux w celu użycia cpustat, Kliknij poniższy link, aby wykonać kroki instalacji Golang, czyli, jeśli nie zainstalowałeś go:

  1. Zainstaluj Golang (GO Programming Language) w Linux

Po zainstalowaniu Iść, Wpisz Idź polecenie poniżej, aby go zainstalować, to polecenie zainstaluje cpustat binarny w twoim Gobin zmienny:

# Idź Zdobądź github.com/Uber-common/cpustat 

Jak używać cpustat w Linux

Po zakończeniu procesu instalacji uruchom cpustat W następujący sposób z uprawnieniami root za pomocą polecenia sudo, czyli, jeśli kontrolujesz system jako użytkownik nie-root, w przeciwnym razie otrzymasz błąd, jak pokazano:

$ $ Gobin/cpustat Ten program korzysta z interfejsu NetLink TaskStats, więc należy go uruchomić jako root. 

Notatka: Biegać cpustat a także wszystkie inne programy GO, które zainstalowałeś w swoim systemie, jak każde inne polecenia, obejmują Gobin zmienna w twoim ŚCIEŻKA Zmienna środowiskowa. Otwórz poniższy link, aby dowiedzieć się, jak ustawić zmienną ścieżki w Linux.

  1. Dowiedz się, jak ustawić swoje zmienne $ ścieżki na stałe w Linux

Oto jak cpustat Pracuje; /Proc Katalog jest zapytany, aby uzyskać bieżącą listę identyfikatorów procesów dla każdego przedziału i:

  • Dla każdego PID przeczytaj /proc/pid/stat, Następnie oblicz różnicę od poprzedniej próbki.
  • W przypadku, gdy jest to nowy PID, przeczytaj /proc/pid/cmdline.
  • Dla każdego PID wyślij wiadomość NetLink, aby pobrać zadanie, oblicz różnicę od poprzedniej próbki.
  • aportować /Proc/Stat Aby uzyskać ogólne statystyki systemowe.

Ponownie, każdy przedział snu jest dostosowywany do uwzględnienia ilości czasu zużytych wszystkich tych statystyk. Ponadto, każda próbka rejestruje również czas, w którym podejmowany jest skalowanie każdego pomiaru według faktycznego upływu czasu między próbkami. To próbuje uwzględnić opóźnienia w samym cpustat.

Po uruchomieniu bez żadnych argumentów, cpustat Domyślnie wyświetli następujące czynności: przedział próbkowania: 200 ms, Podsumowanie Interwał: 2s (10 próbek), pokazujący 10 najlepszych prokuratorów, filtr użytkownika: All, PID Filter: Wszystkie jak pokazano na zrzucie ekranu poniżej:

$ sudo $ gobin/cpustat 
CPUSTAT - Monitorowanie użytkowania procesora Linux

Z powyższego wyjścia następujące znaczenia wskaźników podsumowujących systemowe wyświetlane przed pola:

  • USR - Min/AVG/MAX Tryb użytkownika czas działania jako procent procesora.
  • Sys - Czas wykonywania trybu systemu MIN/AVG/MAX jako procent procesora.
  • Ładny - MIN/AVG/MAX Tryb użytkownika Niski priorytet czasu wykonywania jako procent procesora.
  • bezczynny - Min/AVG/MAX Tryb użytkownika czas działania jako procent procesora.
  • Iowait - MIN/AVG/MAX Czas opóźnienia oczekiwania na dysk IO.
  • Prun - MIN/AVG/MAX Liczba procesów w stanie Runnable (to samo co średnia obciążenia).
  • pBlock - MIN/AVG/MAX Liczba procesów zablokowanych na dysku IO.
  • Pstart - Liczba procesów/wątków rozpoczęła się w tym przedziale podsumowującym.

Wciąż z powyższego wyjścia, dla danego procesu, różne kolumny oznaczają:

  • nazwa - Wspólna nazwa procesu od/PID/PID/STAT lub/PROC/PID/CMDLINE.
  • pid - identyfikator procesu, zwany również „tgid”.
  • min - Najniższa próbka czasu użytkownika+system systemu dla PID, mierzona z/proc/pid/stat. Skala to procent procesora.
  • Max - Najwyższa próbka czasu użytkownika+system systemu dla tego PID, również mierzona z/proc/pid/stat.
  • USR - Średni czas użytkownika dla PID w okresie podsumowującym, mierzonym z/proc/pid/stat.
  • Sys - Średni czas systemu dla PID w okresie podsumowującym, mierzone z/proc/pid/stat.
  • Ładny - Wskazuje bieżącą „ładną” wartość procesu, mierzoną z/proc/pid/stat. Wyższy oznacza „ładniejszy”.
  • Runq - czas proces i wszystkie jego wątki wydane do uruchomienia, ale czekające na uruchomienie, mierzone z taskstats za pośrednictwem netLink. Skala to procent procesora.
  • Iow - czas proces i wszystkie jego wątki wydane zablokowane przez dysku IO, mierzone z taskstats za pośrednictwem netLink. Skala jest procentem procesora, uśrednionego w przedziale podsumowującym.
  • zamieniać - czas proces i wszystkie jego wątki oczekiwane na zamienianie, mierzone z taskstats za pośrednictwem netLink. Skala jest procentem procesora, uśrednionego w przedziale podsumowującym.
  • VCX i ICX - Całkowita liczba dobrowolnych przełączników kontekstowych według procesu i wszystkich jego wątków w przedziale podsumowującym, mierzone z taskstats za pośrednictwem netLink.
  • Rss - bieżąca wartość RSS pobierana z/proc/pid/stat. Jest to ilość pamięci, której ten proces używa.
  • CTime - Suma procesora użytkownika+SYS czas zużyty przez czekające na dzieci, które opuściły w tym przedziale podsumowującym, mierzone z/proc/pid/stat.

Należy zauważyć, że długotrwałe procesy dziecięce mogą często mylić ten pomiar, ponieważ czas jest zgłaszany tylko wtedy, gdy proces dziecka wychodzi. Jest to jednak przydatne do pomiaru wpływu częstych miejsc pracy CRON i kontroli zdrowia, w których wiele procesów jest często spożywana przez wiele procesów dzieci.

  • thd - liczba wątków na końcu przedziału podsumowującego, mierzone z/proc/pid/stat.
  • Sam - liczba próbek tego procesu zawartego w przedziale podsumowującym. Procesy, które niedawno rozpoczęły lub opuściły, mogły być widoczne dla mniejszej liczby próbek niż przedział podsumowujący.

Poniższe polecenie wyświetla 10 najlepszych procesów użytkownika root działających w systemie:

$ sudo $ gobin/cpustat -u root 
Znajdź procesy uruchamiające użytkownika root

Aby wyświetlić moc wyjściową w trybie fantazyjnym, użyj -T flaga w następujący sposób:

$ sudo $ gobin/cpustat -u roo -t 
Uruchamianie użytkowania procesu użytkownika root

Aby wyświetlić górną liczbę x procesów (domyślnie to 10), możesz użyć -N Flaga, następujące polecenie pokazuje 20 najlepszych procesów Linux działających w systemie:

$ sudo $ gobin/cpustat -n 20 

Możesz także zapisać profil procesora do pliku za pomocą -Cpuprofile Opcja w następujący sposób, a następnie użyj polecenia CAT, aby wyświetlić plik:

$ sudo $ gobin/cpustat -cpuprofile cpuprof.TXT $ CAT CPUPROF.tekst 

Aby wyświetlić informacje o pomocy, użyj -H flaga w następujący sposób:

$ sudo $ gobin/cpustat -h 

Znajdź dodatkowe informacje z repozytorium Cpustat Github: https: // github.com/Uber-common/cpustat

To wszystko! W tym artykule pokazaliśmy, jak instalować i korzystać z CPUSTAT, przydatne narzędzie do pomiaru wydajności systemu dla Linux. Podziel się z nami swoimi przemyśleniami za pośrednictwem sekcji komentarzy poniżej.