3

如何确定一个进程的运行时间?

在谷歌关于 ps 命令之后,我可以使用 ps 命令通过以下方式获取进程运行时间:

ps -eo pid,id,cmd,etime,time

我在谷歌看到的大部分文章都使用 etime(经过时间)来确定进程运行时间。

但我也在 stackoverflow.com 中发现了一个类似的问题,获取 Linux 中用户进程的执行时间和他/她使用时间参数?

所以我的问题是, ps 命令中的 etime 和 time 参数有什么区别,哪个参数能够获得进程的实际运行时间。

4

2 回答 2

2

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).
于 2014-05-08T07:31:04.430 回答
-1

使用linux命令时间。它记录了三种进程的运行时间。真实:墙上的时间。user:用户空间时间。sys:内核空间时间。

找到这个链接:Linux time 命令输出中 real、user 和 sys 的含义

于 2013-07-19T03:24:41.063 回答