问题描述
我正在使用linux“ top”命令以批处理模式使用python脚本收集性能指标,例如CPU%,内存%。
我试图通过
顶部-b -n1 -w512
但是由于我的系统有2个CPU内核,因此上面的命令将两个CPU内核的CPU%相加,有时返回的CPU%超过100%。
我了解了Irix模式和Solaris模式,以及如何使用 Shift + i 在这些模式之间切换。
但是我正在寻找一种使用脚本在Solaris模式(即Irix模式关闭)中直接直接捕获顶级命令指标的方法,以便可以获得平均CPU%。
平台:CentOS Linux 7(核心)
解决方法
我找到了一种解决方案,可以在“ top”命令中将“ Irix模式”设置为off,以便在批处理模式下捕获平均CPU%使用率。 在运行python脚本之前,请按照以下步骤更改顶部配置:
- 在放置python脚本的位置运行“ top”命令。在默认设置为打开的Irix模式下,它将显示顶部输出。
- 按“ Shift + i”将Irix模式切换为“关闭”。
- 按“ shift + w”以在当前位置创建顶部的配置文件(.toprc)。
要确认并检查顶级配置文件(.toprc):
- 执行“ ls -a -l”以显示.toprc文件(它是一个隐藏文件)
- 打开文件,您应该看到Mode_irixps = 0(其中0 = OFF和1 = ON)
- 现在,如果在当前位置执行top命令,则它将在Irix模式为OFF的情况下启动顶部。
如果要在不考虑位置的情况下使用irix模式为OFF的top命令,则:
- 将用户更改为“ sudo -i”并导航至/ root目录
- 使用sudo运行top命令。 (须藤顶部)。在默认设置为打开的Irix模式下,它将显示顶部输出。
- 按“ shift + i”将Irix模式切换为“关闭”。
- 按“ shift + w”以在/ root目录的顶部创建配置文件(.toprc)。
- 将python脚本中的top命令修改为“ sudo top -b -n1 -w512”
其他信息: 如果删除了创建的.toprc文件,则top命令将显示输出为默认值,即Irix模式为ON。