11

我有一个问题让我很生气。我正在使用以下命令以批处理模式运行 top,

top -b -n 1

问题是我可以在批处理模式下运行 top 100 次,但 CPU 使用率永远不会超过原始值。内存使用量按预期变化,但 CPU 保持不变。如果我同时在不同的窗口中运行另一个顶部,则该顶部的 CPU 使用率会发生变化,但批处理模式下的顶部不会发生变化。

基本上 CPU 统计数据在批处理模式下似乎并没有改变,而是在交互模式下改变。有谁知道为什么?自己试试,运行上述命令几次,观察 CPU 使用率保持不变,然后在交互模式下运行 top,观察 CPU 使用率不断变化。

4

2 回答 2

7

在第一次迭代中,它向您显示自系统启动以来的平均 CPU 使用率。

(请注意,对于较新版本的 ,情况不再如此top)。

于 2010-12-03T04:11:30.193 回答
4

这是一个显示较长时间段内累积 CPU 使用率的衬线,在本例中为 5 秒。您可以使用 -d 标志对其进行调整。

top -b -d 5 -n 2 | awk '$1 == "PID" {block_num++; next} block_num == 2 {sum += $9;} END {print sum}'
于 2015-07-23T10:51:29.223 回答