3

我正在编写一个程序来记录我公司的网络服务器负载。我需要记录的一项信息是服务器的 CPU 负载。

我知道 CPU 负载 - inmonittop/ htop- 反映了内核之间的负载,针对 1 个内核进行了标准化。因此,对于一个 8 核服务器,总负载(当它重载时)将高于 100%。而当所有核心都满负荷运行时,可能会达到 800%。

但是,monit 和 top/htop 也可能显示 CPU 负载超额,其中 CPU 负载数高于 800%,表明作业正在排队。

我对这种情况很感兴趣。

我的问题:

  1. psutil.cpu_times_percent()函数的行为是否与 monit/top 的 CPU 负载指示器相同?cpu_times_percent()也就是说,如果有作业在排队,返回的百分比是否会高于 100%(标准化为 100% 而不是 1 个核心)?

  2. 如果#1 的答案是“否”,那么我如何检测超额订阅/正在排队的作业?

4

1 回答 1

1

是的,psutil.cpu_times_percent() 应该反映与“top”所示相同的时间,但当然它们不能完全相同,只是大致相同。

于 2014-12-15T17:57:07.940 回答