如何确定流程运行时间?
google关于ps命令后,我可以使用ps命令通过以下方式获取进程运行时间:
ps -eo pid,id,cmd,etime,time
我在google中看到的大部分文章都使用etime(经过时间)来确定流程运行时间。
但我也在stackoverflow.com Getting execution time of a user process in Linux中找到了类似的问题,他/她是否使用时间参数?
所以我的问题是,ps命令中的etime和time参数之间有什么不同,哪个参数能够获得进程的实际运行时间。
答案 0 :(得分:1)
etime
衡量“挂钟时间”,即现在和流程开始之间的差异。
time
(cputime
的别名)衡量CPU忙于执行流程代码的时间。当进程正在等待网络或磁盘或只是休眠时,此计数器不会增加。当进程使用多个线程并行执行某些代码时,此计数器会与占用该进程的CPU数量成比例增加。 time
通常远小于etime
,除非该过程进行大量计算。
$ man ps
etime ELAPSED elapsed time since the process was started, in the form [[DD-]hh:]mm:ss.
time TIME cumulative CPU time, "[DD-]HH:MM:SS" format. (alias cputime).
答案 1 :(得分:-1)
使用linux命令时间。它记录了三种过程运行时间。 真实:壁垒时间。 user:用户空间时间。 sys:内核空间时间。
找到此链接:The meaning of real, user, and sys in output of Linux time command