Я хотел бы найти такой инструмент, как 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", "ps --cumulative" или "pidstat -T ALL" в том, что они добавляют только время завершенных процессов к родительским. Таким образом, вы не можете отслеживать использование процессорного времени в реальном времени, если дочерние процессы не завершаются слишком часто.