顶级批处理模式下的CPU使用率

toc*_*777 11 linux command-line top-command

我有一个让我发疯的问题.我使用以下命令在批处理模式下运行top,

top -b -n 1

问题是我可以在批处理模式下运行100次,但CPU使用率永远不会超过原始值.内存使用情况按预期更改,但CPU保持不变.如果我在另一个窗口中同时运行另一个顶部,那么CPU使用率正在改变,但在批处理模式下不是顶部.

基本上,CPU统计数据似乎在批处理模式下不会改变,而在交互模式下也是如此.有谁知道为什么?自己尝试一下,运行上面的命令几次并观察CPU使用情况保持不变,然后在交互模式下运行top并观察CPU使用情况不断变化.

caf*_*caf 7

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

(请注意,对于较新版本的情况不再是这种情况top).

  • 你怎么会知道这事? (3认同)

Ser*_*nov 5

下面的一个行列显示了较长一段时间内(本例中为 5 秒)的累积 CPU 使用情况。您可以使用 -d 标志来调整它。

top -b -d 5 -n 2 | awk '$1 == "PID" {block_num++; next} block_num == 2 {sum += $9;} END {print sum}'
Run Code Online (Sandbox Code Playgroud)