批处理模式下的 top,需要每个核心的 CPU%

批处理模式下的 top,需要每个核心的 CPU%

我知道运行 top 后,我可以按下1并获取 CPU 及其利用率百分比的列表。我怀疑我也可以使用 -b 选项在批处理模式下执行此操作,但我不知道怎么做,而且我在手册中找不到它。

我需要定期从 python 程序中读取它,因此它必须处于批处理模式。

答案1

您可以使用配置文件来实现这一点。最简单的方法是打开 top,然后按您想要的方式进行配置。在本例中,这意味着使用1获取每个 CPU 的列表。然后让它用Shift+编写一个W配置文件。之后,每当该用户运行 top 时,它都会使用该配置文件,并且保持相同的外观,即使在批处理模式下也是如此。

$HOME请注意,如果您通过 cron 或缺少标准登录定义的其他环境使用此功能,则可能需要定义一个变量。

答案2

我不熟悉如何使用 top 来做到这一点,但你可以看看mpstat哪个会显示每个核心的 CPU 利用率。

答案3

# mpstat -P ALL 1

10:54:41 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
10:54:42 PM  all    8.20    0.12    0.75    0.00    0.00    0.00    0.00    0.00   90.93
10:54:42 PM    0   24.00    0.00    2.00    0.00    0.00    0.00    0.00    0.00   74.00
10:54:42 PM    1   22.00    0.00    2.00    0.00    0.00    0.00    0.00    0.00   76.00
10:54:42 PM    2    2.02    1.01    0.00    0.00    0.00    0.00    0.00    0.00   96.97
10:54:42 PM    3    2.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   98.00
10:54:42 PM    4   14.15    0.00    1.89    0.00    0.00    0.00    0.00    0.00   83.96
10:54:42 PM    5    1.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.00
10:54:42 PM    6    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10:54:42 PM    7    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00

相关内容