Python psutils - 它会反映类似于 top/monit 的 CPU 负载吗?

Posted

技术标签:

【中文标题】Python psutils - 它会反映类似于 top/monit 的 CPU 负载吗?【英文标题】:Python's psutils -- will it reflect CPU Load similar to top/monit? 【发布时间】:2014-12-03 08:46:25 【问题描述】:

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

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

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

我对这种情况很感兴趣。

我的问题:

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

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于Python psutils - 它会反映类似于 top/monit 的 CPU 负载吗?的主要内容,如果未能解决你的问题,请参考以下文章

python跨平台的进程管理psutil

python----psutil模块

python笔记之psutil模块

python-psutil模块

python模块psutil的使用

Python psutil 模块