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