indywidualny% procesora na wyjściu „górnym”

10

Zwykle, aby wyświetlić poszczególne procesory%, wciskamy „1” w interaktywnym trybie góry.

Jednak nie jestem w stanie zrozumieć logiki, aby uzyskać takie same dane wyjściowe w trybie wsadowym, tj.

top -n1b

Przekierowuję to wyjście do pliku, aby wyświetlić go później i tak dalej, więc potrzebuję trybu wsadowego. Czy to możliwe? Zainstalowanie osobnego narzędzia do tego nie będzie możliwe.

Szukam opcji, której mi brakuje, lub jakiegoś sposobu na przechwycenie danych wyjściowych.

Uday
źródło

Odpowiedzi:

7

Na górze interaktywnej przełącz się na indywidualny% procesora, pisząc 1, a następnie napisz bieżącą konfigurację do pliku, pisząc W. To stworzy ~/.toprc. Teraz top -n1bwyświetli również% wydajności procesora. Może być konieczne skopiowanie .toprcpliku i zmiana uprawnień, jeśli skrypt działa jako inny użytkownik.

jwhitlock
źródło
1
Q pyta o tryb wsadowy.
Charles Stewart
2
Spróbuję być jaśniejszy: nie wiem, jak w wierszu poleceń można powiedzieć do góry „kiedy jesteś w trybie wsadowym, wypisz poszczególne jednostki centralne%”. Jednak top czyta .toprcw trybie wsadowym, więc możesz skonfigurować ten plik, jak to opisałem, a wtedy otrzymasz indywidualne cpu% również w trybie wsadowym. A przynajmniej tak mi się stało (procps wersja 3.2.7)
jwhitlock
to ma być top? Dlaczego nie użyć psi posortować według% procesora? Uważam, że% procesora nawet wprowadza w błąd, zwykle sortuję na VSIZE lub RSS, ponieważ często to, co powala moje serwery, to nieuczciwe wieprze pamięci.
memnoch_proxy
5

Czy to musi być najlepsze? Może potrzebujesz mpstat

  mpstat -A
Dan Andreatta
źródło
1

Jest to rodzaj włamania, ale wydaje się, że działa:

$ ssh local.ubuntu.server "(sleep 1;echo 1)|TERM=xterm script -c top & sleep 2;killall script"|grep '^%Cpu'
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.1 st
%Cpu0  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu4  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu5  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu6  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu7  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
AX Labs
źródło
0

Nie wiem, jak to zrobić z górą procutils; może echo k|top -n2 -d1.0sztuczka? Zauważ, że pierwsze wyjście z top nie dostarczy ci użytecznych informacji na temat wykorzystania procesora%: top próbuje oszacować cpu% od momentu uruchomienia. Stąd -n2. Możesz ograniczyć się do drugiej listy statystyk, wyrzucając wszystko do drugiej pustej linii.

Z góry BSD, top -l2 -s1 -o cpu(przetestowane) wydrukuje najlepsze statystyki dwa razy, posortuj według cpu%. Na wypadek, gdyby w twoim systemie czaiła się najlepsza BSD ...

Charles Stewart
źródło
0

Możesz użyć na szczycie. Jest to bardzo wszechstronny monitor, w którym można monitorować procesy oraz zasoby systemowe, takie jak pamięć i procesor. Daje indywidualne wyjście dla każdego rdzenia procesora.

W systemach Ubuntu jest dostępny jako pakiet w repozytorium, dzięki czemu można go bezpośrednio zainstalować za pomocą apt-get / synaptic.

W przypadku systemów Redhat i pochodnych pakiety można znaleźć tutaj: http://dag.wieers.com/rpm/packages/atop/

s1d
źródło