我想找一个像top这样的工具,运行在一个terminal上,但是保持了实际/用户/系统使用时间的累计。
find了它……“顶部-S”
顶端已经保持在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
“真正的时间”可能没有那么有意思 – 这只是过程开始以来stream逝的时间量。
如果你有兴趣自己破解它,你需要的所有东西都在/ 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 -ca
)是Mac OS X上的top
累积模式。
“top-s”,“ps -cumulative”或“pidstat -T ALL”唯一的问题是它们只是把父进程退出进程的时间。 因此,如果subprocess不经常退出,则不能实时监视CPU时间使用情况。