2013-07-19 134 views
2

如何確定進程運行時間?Linux ps命令 - 獲取進程運行時間 - etime和時間參數不同

約ps命令谷歌之後,我可以使用ps命令通過獲取進程運行時間:

我在谷歌看到
ps -eo pid,id,cmd,etime,time 

大部分文章都使用ETIME(經過時間)來確定過程的運行時間。

但我也發現了一個類似的問題在stackoverflow.com Getting execution time of a user process in Linux和他/她使用時間參數?

所以我的問題是,ps命令中的etime和time參數與哪個參數能夠獲得進程的實際運行時間有什麼不同。

回答

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).