Я хотел бы найти такой инструмент, как top, который работает в терминале, но который сохраняет совокупное общее использованное реальное / пользовательское / системное время.
9
Нашел это ... "top -S"
Я считаю, что top уже хранит общее количество времени, потраченного на процессор (пользователь + система). Вот что указано в поле TIME +:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5117 michael 20 0 508m 238m 30m R 16 6.1 7:55.47 firefox
3135 root 20 0 194m 53m 14m S 8 1.4 26:37.08 X
4359 michael 20 0 117m 83m 14m S 1 2.1 17:59.34 gnome-panel
«Реальное время», вероятно, не так интересно смотреть - это просто количество времени, прошедшего с начала процесса.
Если вам интересно взломать его самостоятельно, все, что вам нужно, находится в / proc / * / stat :)
Или попробуйте использовать PS:
ps -eo pid,user,args,etime,time,%cpu --sort %cpu
watch -n1 ps -eo pid,user,args,etime,time,%cpu --sort -%cpu
(самая последняя строка, вероятно, ближе всего к тому, что вы на самом деле спрашиваете :)
Я не знаю, правильно ли я понимаю, но top -a
(или top -c a
) это накопительный режим в top
Mac OS X.
top -S
для версии, которую я имею.-S
аргументов. Разные ОС, разные аргументы.Единственная проблема с «top -S», «ps --cumulative» или «pidstat -T ALL» в том, что они добавляют только время выхода из процессов «раз к родителям». Таким образом, вы не можете отслеживать использование процессорного времени в реальном времени, если дочерние процессы не выходят слишком часто.
источник