14 narzędzi wiersza poleceń do sprawdzania użycia procesora w systemie Linux

Wydajność procesora to jeden z aspektów pomiaru wydajność systemu. Monitorowanie wydajności procesora jest niezbędne do debugowania procesów w każdym systemie, zarządzania zasobami systemowymi, podejmowania decyzji systemowych oraz oceny i badania systemów w czasie rzeczywistym.

Dostępnych jest wiele narzędzi do monitorowania i wyświetlania Wydajność procesora. Systemy operacyjne mają wbudowane wywołania systemowe, na których opierają się te narzędzia, aby wyodrębnić odczyty wydajności.

W tym samouczku zbadamy najlepsze narzędzie do monitorowania wykorzystania procesora i jego zastosowania w każdej dystrybucji opartej na systemie Linux.

1) Góra

Górne polecenie wyświetla widok w czasie rzeczywistym danych związanych z wydajnością wszystkich uruchomionych procesów w systemie. Domyślnie najwyższe polecenie aktualizuje dane co 5 sekund. Wpisz „top” z terminala, aby wyświetlić dane statystyczne związane z wydajnością systemu.

 # top

Aby zmodyfikować dane wyjściowe polecenia top, naciśnij:

„P”, aby posortować według użycia procesora.

„I”, aby usunąć bezczynne procesy z wyświetlacza i cofnąć się, ponownie naciśnij „I”.

„M”, aby posortować dane według użycia pamięci.

„S”, aby posortować według czasu działania procesów.

„P”, aby posortować według użycia procesora.

„U”, aby wyświetlić procesy należące do określonego użytkownika.

„K”, aby zabić procesy.

„R”, aby zmienić ustawienia procesów.

2) Iostat

Polecenie iostat wyświetla listę wykorzystania procesora, urządzenia i sieciowego systemu plików. Średnie wykorzystanie procesora tego systemu narzędziowego od ostatniego restartu. Uruchomienie następującego polecenia bez żadnych opcji powoduje wyświetlenie wszystkich trzech raportów.

 # iostat

Aby wyświetlić listę poszczególnych raportów, użyj przełączników -c, -d i -h do wykorzystania procesora , wykorzystanie urządzenia i wykorzystanie sieciowego systemu plików. Następujące polecenie rozbije wykorzystanie procesora na procesy użytkownika, procesy systemowe, czas oczekiwania I / O i czas bezczynności.

 # iostat -c

Następujące polecenie wyświetli rozszerzone statystyki ( -x), ile razy (-t) każdy raport powinien zostać wyświetlony pod kątem wykorzystania procesora (-c).

 # iostat -xtc 5 2

3) Vmstat

Polecenie vmstat wyświetli statystyki dotyczące procesów systemowych, pamięci, wymiany, operacji we / wy i wydajności procesora. W celu wyświetlenia statystyk dane są zbierane od ostatniego uruchomienia polecenia do chwili obecnej. W przypadku, gdy polecenie nigdy nie zostanie uruchomione, dane będą od ostatniego restartu do aktualnego czasu.

W systemach z wieloma procesorami, vmstat uśrednia liczbę procesorów na wyjściu. Polecenie vmstat aktualizuje swoje dane wyjściowe jak polecenie top.

Następujące polecenie będzie aktualizować swój raport co 5 sekund, aż do wystąpienia przerwania.

 # vmstat 5

Następujące polecenie wyświetli dane, które będą aktualizowane co 5 sekund, a wartości będą ponownie mierzone i raportowane co 1 sekundę.

 # vmstat 1 5

pierwsza linia wyświetla średnie wartości od ostatniego restartu komputera. W pozostałych wierszach zostaną wyświetlone odpowiednie bieżące wartości. Zwykły użytkownik może uruchomić polecenie vmstat.

4) Mpstat

Mpstat jest częścią pakietu sysstat w Linuksie. Komenda mpstat zapisuje na standardowe wyjście informacje o aktywności każdego dostępnego procesora, przy czym pierwszy jest procesor 0. Jeśli nie wybrano żadnej aktywności, raportem domyślnym jest raport wykorzystania procesora.

mpstat bez żadnej opcji wyświetli globalną średnią aktywność wszystkich procesorów

 # mpstat

mpstat z opcją -p i „ALL” wyświetli statystyki dotyczące wszystkich procesorów jeden po drugim, zaczynając od 0.

 # mpstat -P ALL

Następujące polecenie wyświetli podają średnie użycie procesora przez 4 razy, po 2 sekundach.

 # mpstat -P ALL 2 4

5) Sar

sar to narzędzie do monitorowania wydajności dla gromadzenie, przeglądanie i rejestrowanie danych o występach oraz lista czynności wykonywanych przez system przez cały czas. Polecenie Sar może wygenerować raport i wysłać go e-mailem do administratora systemu. Statystyki raportowane przez sar obejmują między innymi szybkość transferu I / O, aktywność stronicowania, działania związane z procesami, przerwania, aktywność sieciową, wykorzystanie pamięci i przestrzeni wymiany, wykorzystanie procesora, aktywność jądra i statystyki TTY. Uruchom sar bez żadnej opcji i sprawdź wyjście. Domyślne statystyki listy wyników dla każdych 10 minut i końcową średnią.

 # sar

Wyświetl statystyki procesora 3 razy z 2-sekundowymi przerwami.

 # sar 2 3

Następujące polecenie wyświetla skumulowane użycie procesora w czasie rzeczywistym przez cały procesor na każde 2 sekundy łącznie 3 razy.

 # sar -u 2 3

Opcja „-P ALL” wyświetla statystyki dla WSZYSTKICH poszczególnych rdzeni. Jeśli twój system ma 4 rdzenie, wówczas „kolumna CPU” będzie zawierać liczbę 0, 1, 2, 3 wskazującą odpowiednie numery rdzeni procesora.Opcja „2 3” wyświetla statystyki co 2 sekundy przez 3 razy.

 # sar -P ALL 2 3

Opcja „-P 2” wyświetla statystyki trzeciego rdzenia co 2 sekundy 3 razy.

 # sar -P 2 2 3

6) CoreFreq

CoreFreq to oprogramowanie do monitorowania wydajności procesora przeznaczone dla 64-bitowych procesorów z architekturą Intel Atom, Core2, Nehalem, SandyBridge i superior, rodzina AMD. CoreFreq zapewnia strukturę do pobierania danych procesora z wysokim stopniem precyzji. Moduł jądra, demon i interfejs wiersza poleceń (CLI) to trzy części Corefreq. Moduł jądra będzie miał pełny dostęp do hosta. Gromadzenie danych niskiego poziomu jest jego obowiązkiem. Demon przestrzeni użytkownika zbiera dane. Aby uruchomić demona, powinieneś być użytkownikiem root. Wreszcie, CoreFreq jest wyposażony w interfejs terminala do raportowania danych w ładnym formacie czytelnym dla człowieka. To narzędzie CLI jest zwykłym procesem i może być używane przez użytkownika końcowego.

Warunek wstępny

i) CoreFreq używa licznika niskiego poziomu i dlatego należy najpierw wyłączyć watchdog NMI poprzez / etc / default / grub. Edytuj / etc / default / grub i dodaj argument wiersza poleceń jądra „nmi_watchdog = 0”, a następnie uruchom update-grub.

 # vi /etc/default/grub
 .................... .................... GRUB_CMDLINE_LINUX="nmi_watchdog=0" .................... ....................
 # update-grub && reboot

ii) Brak wirtualizacji. Maszyny wirtualne nie zapewniają dostępu do rejestrów używanych przez sterownik CoreFreq.

Zainstaluj CoreFreq

Zainstaluj moduł jądra za pomocą insmod

 # sudo insmod corefreqk.ko

Wymień moduł CoreFreq z lsmod

 # lsmod | grep corefreq corefreqk 49152 0

Wynik polecenia dmesg pokazuje, że CoreFreq został rozpoznany przez procesor.

 # sudo dmesg | grep CoreFreq CoreFreq: Processor Architecture CPU 

Uruchom demona CoreFreq

 # sudo ./corefreqd -i &

Teraz uruchom klienta corefreq jako użytkownik.

 # ./corefreq-cli

7) Htop

Htop to przeglądarka procesów i aplikacja w trybie tekstowym do monitorowania systemu w czasie rzeczywistym, jak u góry. Wyświetla kompletny lista uruchomionych procesów i jest łatwa w użyciu. Opiera się na ncurses do przeglądania procesów w środowisku podobnym do GUI działającym w terminalu. Htop wyświetla zużycie na procesor wraz z pamięcią i wymianą z wydrukowanym znaczącym wykresem tekstowym u góry. Htop jest bardzo wygodny w użyciu i łatwy do zrozumienia. Gdy zaczniesz używać HTOP, y możesz nie wrócić do TOP.

Zainstaluj htop za pomocą następującego polecenia w terminalu

 # sudo apt-get install htop

Uruchom htop za pomocą następującego polecenia.

 # htop

8) Nmon

nmon (Nigel’s Performance Monitor for Linux & AIX) został opracowany przez pracownika IBM Nigela Griffithsa. To narzędzie służy do monitorowania zasobów systemowych, takich jak procesor, pamięć, sieć, dyski, systemy plików, NFS, najważniejsze procesy w terminalu. NMON obsługuje różne architektury, takie jak POWER, x86, x86_64, Mainframe i ARM (Raspberry Pi). To narzędzie pomaga administratorowi systemu dostrajać, testować informacje o wydajności w celu rozwiązywania problemów z wydajnością procesora / systemu w przypadku wystąpienia problemów. Do monitorowania w czasie rzeczywistym używa biblioteki curses w celu zmniejszenia wpływu na procesor i wyświetla statystyki na ekranie i aktualizuje je co dwie sekundy. nmon zużywa mniej pamięci procesora w porównaniu z innymi narzędziami, ponieważ używa biblioteki curses.

Instalacja

 # sudo apt-get install nmon (Ubuntu) # sudo yum install nmon (CentOS)

Użytkownicy CentOS muszą zainstalować / włączyć Repozytorium EPEL w celu zainstalowania nmon.

Wpisz nmon w terminalu i naciśnij enter, nmon wyświetli ekran powitalny ze wszystkimi opcjami umożliwiającymi dalsze korzystanie z niego. Jeśli chcesz wyświetlić wykorzystanie procesora, naciśnij c i aby ukryć statystyki widżetów wykorzystania procesora, naciśnij ponownie „c”.

9) Glances

Glances to wieloplatformowe narzędzie monitorujące oparte na curses napisane w Pythonie, które używa biblioteki psutil do pobierania danych z systemu. Rzut oka monitoruj procesor, średnie obciążenie, pamięć, interfejsy sieciowe, wejścia / wyjścia dysku, procesy i wykorzystanie przestrzeni systemu plików.

Zainstaluj spojrzenia w systemie za pomocą następującego polecenia.

W systemie Ubuntu :

 # sudo apt-get install glances

W Centos:

 # sudo yum install glances

Spojrzenia można uruchamiać w 3 trybach:

1. Wersja autonomiczna

Jeśli chcesz monitorować komputer lokalny (samodzielny), po prostu uruchom-

 # glances

2. Klient / serwer

Jeśli chcesz zdalnie monitorować maszynę, wykonaj następujące czynności na serwerze.

 # glances -s

, a następnie z klienta , wykonaj następujące polecenie.

 # glances -c @server

gdzie @server to adres IP lub nazwa hosta serwera.

3. Serwer WWW

Uruchom spojrzenia w trybie serwera WWW, wykonując następujące polecenie w terminalu.

 # glances -w Glances web server started on http://0.0.0.0:61208/

Aby zmienić częstotliwość odświeżania po prostu dodaj kropkę w sekundach na końcu adresu URL. Na przykład, aby odświeżyć stronę co 30 sekund, dodaj 10 do adresu URL serwera spojrzeń z przeglądarki.

 http://@server:61208/30

10) Cpustat

Cpustat is jak fantazyjny top, który robi różne rzeczy. Większość narzędzi wydajnościowych średnio zużywa procesor przez kilka sekund lub nawet minutę. Powoduje to fantazję o nadmiernej wydajności z powodu gwałtownego wzrostu wykorzystania zasobów, który łączy się z mniej zajętymi okresami. Z drugiej strony cpustat pobiera próbki o wyższej częstotliwości z każdego procesu i sumuje te próbki z niższą częstotliwością. Na przykład może mierzyć proces co 200 ms i podsumowywać próbki co 5 sekund, w tym wartości minimalne / średnie / maksymalne dla niektórych metryk.

Zainstaluj Cpustat

Cpustat jest napisany w języku Go. Dlatego potrzebujesz GO w swoim systemie. Jeśli go tam nie ma, zainstaluj go za pomocą następujących poleceń w terminalu.

W Ubuntu

 # sudo add-apt-repository ppa:longsleep/golang-backports # sudo apt-get update # sudo apt-get install golang-go

W CentOS

 # yum install golang

Po zainstalowaniu Golanga w systemie utwórz katalog dla Cpustat i udostępnij ten katalog GOPATH.

 # mkdir cpustat # export GOPATH=$HOME/cpustat

Zainstaluj Cpustat i sprawdź, czy katalogi są skopiowane do folderu cpustat.

 # go get github.com/uber-common/cpustat # cd cpustat && ls

Dodaj folder bin do zmiennej środowiskowej PATH. Możesz także dodać następujący wiersz do ~ / .bashrc lub / etc / profile w zależności od tego, czego używasz.

 # export PATH=$PATH:/root/cpustat/bin

Istnieją dwa sposoby wyświetlenia tego dane. Czysta lista tekstowa interwału podsumowania lub kolorowy pulpit przewijany każdej próbki. Aby wyświetlić dane w fantazyjnym trybie terminala, wykonaj następujące polecenie w terminalu.

 # cpustat -t

Aby uruchomić w trybie czystego tekstu, użyj następującego polecenia. W trybie tekstowym kilka ogólnosystemowych metryk podsumowujących pochodzi z / proc / stat.

 # cpustat

Następujące polecenie pobierze próbkę wszystkich procesów co 500 ms i podsumuj te dane po 10 próbkach, czyli co 5 sekund.

 # cpustat -s 500 -s 10 -n 20

Użyj następującego polecenia, aby zmierzyć procesy, których właścicielem jest użytkownik root lub użytkownik ubuntu. Ogólne statystyki systemu będą nadal mierzone.

 # cpustat -u root, ubuntu

Mierz tylko procesy „apache” lub „mysql”. Opcja -p cpustat pobiera listę identyfikatorów procesów zwróconych przez pgrep. pgrep służy do pobierania identyfikatorów procesów (opcja -d).

 # cpustat -p $(pgrep -d, apache2\|mysqld)

Użyj następującego polecenia, aby zapisać profil pamięci w pliku.

 # cpustat -memprofile test.txt

11) perf

Perf może mierzyć liczniki wydajności procesora, punkty śledzenia, kprobes i uprobes, które są zawarte w jądrze Linuksa, w tools / perf. Perf rozpoczął jako narzędzie do korzystania z podsystemu liczników wydajności w systemie Linux i miał różne ulepszenia, aby dodać możliwości śledzenia. Narzędzia perf są zintegrowane z jądrem Linuksa od wersji 2.6 i są oparte na podsystemie zdarzeń perf. Profiler perf używa liczników sprzętowych do profilowania aplikacji. Wynik tego profilera jest wyraźny i szybki. Narzędzie perf można znaleźć w pakiecie linux-tools.

Measure entire system for 10 seconds using perf.
 # perf stat -a -- sleep 10

Jeśli chcesz znaleźć wydajność procesora dla konkretnego” polecenia „, takiego jak cp. Następujące polecenie perf profiluje cp podczas kopiowania całego katalogu Documents do nowej lokalizacji (Docs).

 # perf stat cp -r Documents/ Docs

Jeśli chcesz znaleźć statystyki licznika procesora dla określony PID, a następnie użyj następującego polecenia aż do naciśnięcia CTRL + C.

 # perf stat -p 2087

Znajdź podstawowe statystyki procesora, w całym systemie, przez 10 sekund, używając następującego polecenia perf Komenda. Możesz także pominąć dowolną z opcji pod opcją -e, aby być bardziej szczegółowym.

 # perf stat -e cycles,instructions,cache-references,cache-misses,bus-cycles -a sleep 10

Zbierz przez 5 sekund przykładowe instrukcje użytkownika na procesorze, a następnie użyj raportu perf, aby wyświetlić raport.

 # perf record -e cycles:u -a -- sleep 5 # perf report

Zbierz przykładowe ślady stosu procesora, raz na 10 000 braków w pamięci podręcznej danych poziomu 1, przez 5 sekund, a następnie użyj raportu perf aby wyświetlić raport.

 # perf record -e L1-dcache-load-misses -c 10000 -ag -- sleep 5 # perf report

12) tiptop

Tiptop odczytuje liczniki wydajności sprzętu i wyświetla statystyki dotyczące uruchomionych procesów Linuksa, takich jak IPC lub chybienia w pamięci podręcznej. Zapewnia dynamiczny widok w czasie rzeczywistym zadań uruchomionych w systemie. Tiptop jest bardzo podobny do top, ale wyświetlane informacje pochodzą z liczników sprzętowych.

Ma dwa tryby pracy, tryb na żywo i tryb wsadowy. W obu trybach system jest okresowo pytany o wartości liczników sprzętowych i dla każdego zadania wypisywane są różne współczynniki.

13) polecenie ps

Możemy użyć polecenia ps, aby znaleźć użycie procesora przez każdy proces lub użytkowników. Podano kilka przykładów do zrozumienia

Aby wyświetlić najwyższy procesor & Wykorzystanie pamięci przez procesy uruchamiane przez roota.

Uruchom następujące polecenie, aby wyświetlić użycie procesora dla określonego polecenia:

Aby wyświetlić procesy dla wszystkich użytkowników, którzy nie są podłączeni do terminala, w pełnej liście formatu z sortowaniem

14) dstat command

dstat command jest wszechstronnym narzędziem do generowania statystyk zasobów systemowych, a także pokazywałoby statystyki cpu. Aby go używać, musisz go zainstalować

Na Centos

# yum install -y dstat

W systemie Ubuntu

# apt-get install dstat

Aby monitorować program, który zużywa najwięcej procesora i najwięcej pamięci.

# dstat -c --top-cpu -dn --top-mem

Podsumowanie

W tym samouczku omówiliśmy kilka narzędzi do monitorowania wydajności procesora oraz ich zastosowania. Upewnij się, że przeczytałeś strony podręcznika dla każdego z nich, ponieważ szczegółowo dokumentują one zastosowania. Pamiętaj, że korzystanie z tych narzędzi wymaga również części procesora. Na przykład top zajmuje 3% -4% procesora, a rzut oka zajmuje 15% do 20% procesora. Więc używając któregokolwiek z nich, musisz wziąć pod uwagę również ten aspekt. W skrócie, będziesz w stanie dowiedzieć się, który proces zajmuje więcej czasu procesora, czy jest wystarczająco dużo wolnej pamięci, czy procesy są wstrzymane podczas oczekiwania na we / wy mianowicie. dostęp do dysku lub sieci w celu pełnego odczytu / zapisu i wiele więcej dzięki kombinacji kilku z nich.

Przeczytaj także:

  • Jak monitorować wydajność systemu Linux za pomocą polecenia Sar
  • Zainstaluj htop 2.0.2 i używaj wiersza poleceń w systemie Linux

Write a Comment

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *