Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux top 指令中 TIME/TIME+ 欄位含義深度解讀

編輯:Linux 教學

直接結論

TIME 與 TIME+ 顯示的是進程自啟動以來佔用的總 CPU 時間(用戶態 + 核心態),而不是進程運行的牆鐘時間(real/elapsed time)。

詳細說明

  • TIME:以秒為單位顯示累積 CPU 時間(格式 MMM:SS 或 HHH:MM:SS)。
  • TIME+:同 TIME,但精度達百分之一秒(百秒),格式 MMM:SS.cc。

為什麼長期運行的進程 TIME 可能很小?

若進程大部分時間處於睡眠/等待 I/O狀態,極少佔用 CPU,則累積 CPU 時間自然很小。例如:

  • SSH 閒置連線進程:運行數天,TIME+ 可能僅 0.01s。
  • 資料庫進程:高負載時 TIME 快速增長;低峰期幾乎不增長。

多核/多 CPU 環境下的累加規則

進程若在多核上並行執行(多執行緒或被調度至不同核心),各核心上的 CPU 時間會累加。因此 TIME 可能超過進程的實際運行牆鐘時間。

# 範例:4 核心上滿載運行的多執行緒程序
# 牆鐘時間 10 秒,但 TIME 可能顯示 40 秒(4 核 * 10 秒)

原版手冊摘譯

TIME — CPU Time
任務啟動以來使用的總 CPU 時間。啟用 Cumulative mode(S 鍵切換) 時,顯示該進程及其已終止子進程的總 CPU 時間。

TIME+ — CPU Time, hundredths
同 TIME,但以百分之一秒顯示,粒度更細。

實用技巧

  • 按 Shift+P:依 %CPU 排序,快速找出佔用 CPU 最高的進程。
  • 按 Shift+M:依記憶體排序。
  • 按 c:切換顯示完整命令列(含參數)。
  • 按 1:切換顯示各 CPU 核心使用率。
  • Cumulative mode(S):排查父進程反覆 fork 子進程導致 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 等工具,可全方位定位效能瓶頸。

Copyright © Windows教程網 All Rights Reserved