Существует ли инструмент Linux, как top, только кумулятивный?

9

Я хотел бы найти такой инструмент, как top, который работает в терминале, но который сохраняет совокупное общее использованное реальное / пользовательское / системное время.

dacracot
источник

Ответы:

1

Я считаю, что 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

(самая последняя строка, вероятно, ближе всего к тому, что вы на самом деле спрашиваете :)

MikeyB
источник
1

Я не знаю, правильно ли я понимаю, но top -a(или top -c a) это накопительный режим в topMac OS X.

Studer
источник
Пробовал ... "top: неизвестный аргумент 'a'"
dacracot
Это top -Sдля версии, которую я имею.
Приостановлено до дальнейшего уведомления.
Странно, в Mac OS X нет -Sаргументов. Разные ОС, разные аргументы.
Студер
Не так странно. Я работаю на Linux, Solaris и AIX, и все они используют разные флаги для общих вещей. Это сведет тебя с ума.
Satanicpuppy
0

Единственная проблема с «top -S», «ps --cumulative» или «pidstat -T ALL» в том, что они добавляют только время выхода из процессов «раз к родителям». Таким образом, вы не можете отслеживать использование процессорного времени в реальном времени, если дочерние процессы не выходят слишком часто.

user77376
источник