是否有类似 top 的 Linux 工具,仅具有累积功能?

是否有类似 top 的 Linux 工具,仅具有累积功能?

我想找到一个像 top 这样的工具,它可以在终端中运行,但可以保持实际/用户/系统使用时间的累计总数。

答案1

找到了……“top -S”

答案2

我认为 top 已经保存了 CPU 上花费的累计时间(用户+系统)。这就是 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

(最后一行可能最接近你实际问的问题:)

答案3

我不知道我是否理解正确,但是top -a(或)是Mac OS X 上top -c a的累积模式。top

答案4

“top -S”、“ps --cumulative”或“pidstat -T ALL”的唯一问题是它们只将退出进程的时间添加到父进程的时间中。因此,如果子进程退出频率不高,您就无法实时监控 CPU 时间使用情况。

相关内容