Znam pidstat
polecenie, które daje osobny procesor użytkownika i system na proces w systemie Linux:
$ sudo pidstat -p 3162
Linux 4.18.0-13-generic (ubi) 26.12.2018 _x86_64_ (1 CPU)
11:26:13 UID PID %usr %system %guest %wait %CPU CPU Command
11:26:13 1000 3162 0.24 0.04 0.00 0.12 0.28 0 emacs
Jak mogę to zrobić w systemie Mac OSX?
top
w OSX podaje te wartości, ale tylko na poziomie komputera, a nie na proces. W przypadku procesów wydaje się, że daje tylko całkowity wykorzystany procesor
Load Avg: 3.26, 3.02, 3.01 CPU usage: 3.13% user, 5.69% sys, 91.16% idle SharedLibs: 169M resident, 44M data, 11M
PID COMMAND %CPU TIME #TH #WQ #PORT MEM PURG CMPRS PGRP PPID STATE BOOSTS
97229 powerlogd 0.0 00:00.45 2 1 51 1160K 16K 1744K 97229 1 sleeping *1[1]
Na proces pokazuje tylko całkowity procent procesora, a nie podział użytkownika i systemu. Jak uzyskać czas użytkownika i systemowy?
Odpowiedzi:
Nie jesteś pewien, czy informacje, których szukasz, są tak łatwo dostępne. Możesz spróbować
ps
i obliczyć czas systemowy (CZAS - CZAS) i wartości procentowe. Jest to tylko suma od początku procesu, a nie ciągłe pobieranie próbek.
źródło
Byłeś blisko z komendą Top,
Spróbuj teraz
Top -A
i pokaże to dla poszczególnych procesów (PID)
lub spróbuj tego
top -F -R -o cpu
Wszystkie możliwe opcje polecenia Top
Podczas
Top
działania naciśnijo
(i / lub Capital O), a następnie użyj dowolnej z wymienionych opcji, aby zmodyfikować to, co i jak jest wyświetlane w czasie rzeczywistym.źródło
-A
daje mi niepoprawną składnię w HighSierra.top
nadal wyświetla całkowitą moc obliczeniową na proces, a nie użytkownika i systemu oddzielnie, chyba że coś tu przeoczyłem.top -a
na High Sierran i to działatop
pokazuje całkowity czas procesora, a nie podział. Potrzebuję zarówno czasu użytkownika, jak i systemu. Zaktualizowałem też pytanie