AIX 7.2 Topas 显示 CPU 过高

AIX 7.2 Topas 显示 CPU 过高

当我执行topas某个进程时,CPU% 列中显示为 43%,然后跳到 85%。

当我执行时:

"ps aux | grep processName"  

同样的过程是 5%。

什么更准确?我还制作了一个类似于 Linux“watch”命令的循环,我看到它位于 %5。

topas 和 ps 有什么区别,谁是正确的?

输出ps

[ttfai231:root]/root>ps aux | head -1; ps aux | sort -rn +2 | head -10
USER          PID %CPU %MEM   SZ  RSS    TTY STAT    STIME  TIME COMMAND
root      9306548  8.6  1.0 12880 12880      - A    13:35:33 41:20 MYDAEMON
root      1048868  2.0  0.0  448  448      - A    13:22:36 11:50 wait

托帕斯: 在此输入图像描述

答案1

我相信这是每个​​字段的计算方式的差异。对于该topas领域:

CPU 利用率%

该进程的平均处理器使用率监测间隔。第一次显示进程时,该值是进程生命周期内的平均处理器使用情况。

...而ps字段:

%中央处理器

(u 和 v 标志)进程使用 CPU 的时间百分比自该过程开始以来。该值是通过进程使用 CPU 的时间除以进程已用时间计算得出的。在多处理器环境中,该值进一步除以可用 CPU 的数量,因为同一进程中的多个线程可以同时在不同的 CPU 上运行。 (由于计算此数据的时基有所不同,因此所有 %CPU 字段的总和可能超过 100%。)

我已将描述中突出差异的部分加粗。

CPU topas% 值会随着进程使用更多或更少的 CPU 时间而波动,因此它将显示最近(可能很短)时间间隔内的 CPU 使用情况; % psCPU 值将始终显示为进程生命周期内的平均值。

相关内容