Jak monitorować użycie procesora w Linuksie w czasie
- Anthony Heddings
- April 23, 2020, 10:00 AM EDT
narzędzie top
wyświetla bieżące zużycie procesora dla każdego uruchomionego procesu, ale co jeśli chcesz monitorować to w czasie i wyświetlać na wykresie? Istnieje kilka narzędzi do tego, jeśli twój dostawca chmury jeszcze go nie ma.
na marginesie, jeśli nie masz go jeszcze zainstalowanego,htop
narzędzie (Na zdjęciu powyżej) jest o wiele ładniejsze w użyciu niż domyślnetop
.,
trywialne rozwiązanie: użyj Wykresów dostawcy chmury
To rozwiązanie jest zdecydowanie najłatwiejsze w użyciu, ale nie będzie dostępne dla wszystkich. Jeśli korzystasz z AWS, CloudWatch ułatwia monitorowanie użycia procesora.
w konsoli zarządzania CloudWatch wybierz „metryki”, a następnie Wyświetl metryki dla EC2. Wskaźnik „wykorzystanie CPU” wyświetla średnie wykorzystanie procesora:
średnie wykorzystanie procesora jest mierzone w krokach co 5 minut, ale można włączyć rozszerzone monitorowanie wystąpienia i zwiększyć go do 1 minut., Robienie tego kosztuje dodatkowo. Możesz również łatwo ustawić alarmy, gdy użycie procesora stanie się zbyt wysokie.
Jeśli korzystasz z Google Cloud Platform, w zakładce „monitorowanie” po wybraniu wystąpienia pojawi się Wykres.
Usługa Azure ma usługę Azure Monitor, która wyświetla podobne informacje:
w przypadku większości innych dostawców usług w chmurze prawdopodobnie będą mieli również taki wykres.
używając /proc/loadavg
najlepszym sposobem na zrobienie tego natywnie jest sprawdzenie, skąd top
pobiera informacje. /proc/loadavg
zawiera średnie 1-minutowe, 5-minutowe i 15-minutowe., Możesz go zalogować za pomocą cat
cat /proc/loadavg/ 1.71 1.32 1.38 2/97 6429
możesz użyć tego do wygenerowania wykresu, drukując każdą linię w oddzielonym przecinkami pliku CSV, używając niektórych awk
magic:
cat /proc/loadavg | awk "{print $1","$2","$3}" >> cpu.csv
podłącz to do cron
zadania uruchamianego co minutę, obracaj logi za pomocą logrotate, a otrzymasz Monitor procesora. Możesz zaimportować plik CSV do programu Excel, gdzie łatwo będzie wykreślić średnie wykorzystanie Procesora na wykresie liniowym.,
uwaga, powyższe polecenie wyświetla średnie 1-minutowe, 5-minutowe i 15-minutowe. Jeśli uruchamiasz go co minutę, nie jest naprawdę konieczne drukowanie średnich 5 i 15 minut, ponieważ możesz to obliczyć obliczeniowo.
zainstaluj sysstat
sar
narzędzie jest Świetne do monitorowania wydajności systemu. Jest częścią sysstat
, która prawdopodobnie nie jest zainstalowana domyślnie w Twoim systemie. Musisz go zdobyć z menedżera pakietów twojej dystrybucji., W przypadku systemów opartych na Debianie, takich jak Ubuntu, będzie to:
sudo apt-get install sysstat
następnie włącz go, edytując /etc/default/sysstat
I ustawiając „ENABLED” na true.
w ten sposób monitoruje system i generuje raport co 10 minut, obracając je po tygodniu. Możesz zmodyfikować to zachowanie, edytując crontab sysstat pod adresem /etc/cron.d/sysstat
lub zmieniając ustawienia obrotu wsysstat
pod adresem/etc/sysstat/sysstat
.,
możesz wygenerować raport w czasie rzeczywistym za pomocą następującego polecenia:
sar -u 1 3
sysstat
będzie zbierać dane dotyczące użycia procesora w tle co minutę, zapisując je do/var/log/sysstat/
. Możesz zaimportować te dane do analizy, używając programu arkusza kalkulacyjnego lub niestandardowego narzędzia, takiego jak sargraph, które wyświetla ładny wykres:
Możesz również użyć narzędzi wiersza poleceń do kreślenia wykresów takich jak ten, takich jak ttyplot
, ale żaden z nich nie jest tak łatwy w użyciu (i tak ładny wygląd) jak GUI., Wiersz poleceń jest BiT na tym jednym-wykresy są ładniejsze.
Monit może alarmować o zbyt wysokim zużyciu procesora
Monit jest otwartym Pakietem monitorującym dla systemu Unix, który sprawdza kondycję serwera i może być skonfigurowany tak, aby wysyłać Ci powiadomienia, jeśli użycie Procesora na serwerze stanie się niebezpiecznie wysokie. Przeczytaj nasz przewodnik konfiguracji, aby dowiedzieć się więcej.
zauważ, że CloudWatch osiąga to samo po wyjęciu z pudełka z alarmami i może działać na wielu różnych metrykach, nie tylko na wykorzystaniu procesora.,
Anthony Heddings jest inżynierem chmury w firmie Lifesavvy Media, pisarzem technicznym, programistą i ekspertem platformy AWS Amazon. Napisał setki artykułów do How-To Geek i CloudSavvy IT, które zostały przeczytane miliony razy.Czytaj całość „