Wiemy, że top
jest to polecenie pozwalające uzyskać użycie procesora w systemie Linux, a inne sposoby obejmują
cat /proc/stat
użycie tego przez top.
Jakie są inne metody uzyskania wykorzystania procesora w wierszu poleceń systemu Linux?
Scenariusz przypadku użycia: wynik tego polecenia zostanie wykorzystany przez skrypt do ciągłego rejestrowania użycia procesora. top
i /proc/stat
podać szczegółowe użycie, które jest trudne do zarejestrowania. Czy istnieje łatwiejszy sposób na uzyskanie informacji o procesorze?
linux
command-line
fasil
źródło
źródło
sed
wynik, jeśli tylko chcesz wartość.top
a drugi daje bardzo przydatne polecenie. To nie jest ja używam X, a ty? pytanie, ale pytanie Jak mam zrobić pytanie X. Głosowanie w celu ponownego otwarcia.Odpowiedzi:
Jak powiedzieli inni, prawdopodobnie najlepszym sposobem jest
top
. Wymaga to drobnych poprawek i analizy, ale możesz to zrobić, aby uzyskać bieżące wykorzystanie procesora jako procent.top
dzieli użycie procesora między użytkownika, procesy systemowe inice
procesy, chcemy sumę trzech. Możemy więc działaćtop
wb
trybie ATCH, który pozwala nam analizować jego dane wyjściowe. Jednak, jak wyjaśniono tutaj , pierwsza iteracjatop -b
zwraca wartości procentowe od uruchomienia, dlatego potrzebujemy co najmniej dwóch iteracji (-n 2
), aby uzyskać bieżący procent. Aby przyspieszyć, możesz ustawićd
opóźnienie między iteracjami na0.01
. Wreszciegrep
wiersz zawierający procenty procesora, a następnie wykorzystanygawk
do zsumowania procesów użytkownika, systemu i ładnych procesów:Pomyślałem, że możesz uzyskać te informacje
ps -o pcpu ax
, dodając% wykorzystania każdego uruchomionego procesu. Niestety, jak wyjaśniono tutaj ,ps
„zwraca procent czasu spędzonego w trakcie całego cyklu życia”, co nie jest tym, czego potrzebujesz.EDYTOWAĆ
Na podstawie Twojego komentarza twoja wersja
top
różni się od mojej i powinieneś użyć tego:Aby uniknąć problemów z lokalizacją, ustaw ustawienia regionalne na C:
źródło
sar
jest ostatecznym sposobem na zrobienie tego. Na przykładsar -u
wyświetli coś takiego:Nie mówisz, którego Linux używasz, ale w CentOS / RedHat musisz zainstalować
sysstat
pakiet, i myślę, że tak samo jest w Debian / Ubuntu.Możesz także użyć sar do zbierania statystyk ad hoc :
Będzie zbierał statystyki co 60 sekund 600 razy, więc 600 minut.
źródło