我的 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 )以在列表中仅查看该进程。如果时间没有在那里“四处跳动”,那么您可能看到排序的伪影。php
ps
top
答案3
该值是通过从内核管理的 /proc//stat 中获取第 14 个字段来计算的。
据我所知,所讨论的值仅以“jiffies”(实际上是百分之一秒)为单位增加。
您能否在十秒后将该 pid 的 /proc//stat 值 cat 出来?