TIME 與 TIME+ 顯示的是進程自啟動以來佔用的總 CPU 時間(用戶態 + 核心態),而不是進程運行的牆鐘時間(real/elapsed time)。
MMM:SS 或 HHH:MM:SS)。TIME,但精度達百分之一秒(百秒),格式 MMM:SS.cc。若進程大部分時間處於睡眠/等待 I/O狀態,極少佔用 CPU,則累積 CPU 時間自然很小。例如:
TIME+ 可能僅 0.01s。TIME 快速增長;低峰期幾乎不增長。進程若在多核上並行執行(多執行緒或被調度至不同核心),各核心上的 CPU 時間會累加。因此 TIME 可能超過進程的實際運行牆鐘時間。
# 範例:4 核心上滿載運行的多執行緒程序
# 牆鐘時間 10 秒,但 TIME 可能顯示 40 秒(4 核 * 10 秒)
TIME — CPU Time
任務啟動以來使用的總 CPU 時間。啟用 Cumulative mode(S 鍵切換) 時,顯示該進程及其已終止子進程的總 CPU 時間。TIME+ — CPU Time, hundredths
同TIME,但以百分之一秒顯示,粒度更細。
%CPU 排序,快速找出佔用 CPU 最高的進程。| 誤區 | 正確理解 |
|---|---|
| TIME = 進程存活時間 | TIME = 累積 CPU 時間;存活時間請看 ps -o etime 或 /proc/PID/stat 第 22 欄 |
| TIME 不能超過實際運行時間 | 多核並行時 TIME 會超過牆鐘時間 |
| TIME+ 比 TIME 更準確,應該只看 TIME+ | TIME+ 只是更細粒度;趨勢分析用 TIME 即可 |
理解 TIME/TIME+ 是「CPU 時間而非牆鐘時間」,並掌握多核累加特性,才能正確判斷進程的真實 CPU 壓力。結合 %CPU、ps -o time,etime、pidstat 等工具,可全方位定位效能瓶頸。