Linux ps命令 - 获取进程运行时间 - etime和time参数之间的差异

时间:2013-07-19 03:14:14

标签: linux centos ps

如何确定流程运行时间?

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参数之间有什么不同,哪个参数能够获得进程的实际运行时间。

2 个答案:

答案 0 :(得分:1)

etime衡量“挂钟时间”,即现在和流程开始之间的差异。

timecputime的别名)衡量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