我正在编写一个程序来执行我公司网络服务器加载的一些日志记录。我需要记录的一个信息是服务器的CPU负载。
我知道CPU负载 - monit
或top
/ htop
- 反映了核心的总负载,针对1核进行了标准化。因此,对于8核服务器,总负载(当它负载很重时)将高于100%。当所有内核满负荷运行时,可能会达到800%。
但是,monit和top / htop也可能显示超额订购的CPU负载,其中CPU负载数高于800%,表明作业正在排队。
我对这种情况感兴趣。
我的问题:
psutil.cpu_times_percent()
功能是否与monit' s / top的CPU负载指示器相同?也就是说,如果有排队的工作,返回的百分比是否会高于100%(cpu_times_percent()
标准化为100%而不是1核心?
如果对#1的回答是"否",那么如何检测排队的超额订阅/作业?
答案 0 :(得分:1)
是的,psutil.cpu_times_percent()应该反映“top”所示的相同时间,但当然它们不能完全相同,只是大约相同。