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,列表将停止“四处跳动”(至少,只要新进程没有停止或启动)。或者,执行(替换感兴趣的进程ps p PID u的 PID )以在列表中仅查看该进程。如果时间没有在那里“四处跳动”,那么您可能看到排序的伪影。phppstop

答案3

该值是通过从内核管理的 /proc//stat 中获取第 14 个字段来计算的。

据我所知,所讨论的值仅以“jiffies”(实际上是百分之一秒)为单位增加。

您能否在十秒后将该 pid 的 /proc//stat 值 cat 出来?

相关内容