top 指令中的 Time+(CPU 時間)列報告不正確

top 指令中的 Time+(CPU 時間)列報告不正確

我的 top 命令中的 Time+ 列沒有報告正在執行的 php 腳本的正確時間。它首先報告類似的情況,然後上下波動

TIME+
22:39.35 php

然後三秒後報告

TIME+
7:12.41 php

然後又三秒後再報告

TIME+
42:44.21 php

關於為什麼會發生這種情況的任何線索?

編輯:

我點擊“c”來切換進程的名稱,這樣我就知道這是同一個進程。時間仍然報告不正確。

答案1

你確定這些是相同的 php 流程嗎?我敢打賭你有多個「跳到上面」的 php 進程。

如果您想更好、更輕鬆地監控所有 php 進程,我建議您使用“htop”,這對您所查看的內容來說更容易。

答案2

預設情況下top按 %CPU 排序,因此您將看到清單中的進程在移動。重複使用該<鍵將排序列移至 PID,清單將停止「跳躍」(至少,只要新進程沒有停止或啟動)。或者,執行 a (取代感興趣進程ps p PID u的 PID )以僅在清單中查看該進程。如果時間沒有“跳來跳去”,那麼您可能會看到.phppstop

答案3

該值是透過從核心管理的 /proc//stat 中獲取第 14 個欄位來計算的。

據我了解,所討論的值只會以“jiffies”(實際上是百分之一秒)的速度增加。

你能十秒鐘後找出那個 pid 的 /proc//stat 的值嗎?

相關內容