use*_*561 6 python cpu-usage python-3.x psutil
我在 python 解释器中执行以下两条语句。
>>> psutil.cpu_percent(interval=None, percpu=False)
2.0
>>> psutil.cpu_percent(interval=None, percpu=True)
[1.5, 1.6, 3.7, 3.5]
Run Code Online (Sandbox Code Playgroud)
当 percpu=False 时,预计会提供系统范围的 CPU 使用情况。但是,当我尝试获取每个 CPU 使用情况时,其总和并不等于系统范围的使用情况。我的问题是当传递 percpu=True 和 percpu=False 时 cpu_percent 函数究竟如何工作?
根据我的实验和阅读代码,它看起来像psutil.cpu_percent
和percpu=False
,100% 意味着所有核心都 100% 使用。代码注释将此描述为“Windows 任务管理器样式”。这大致相当于每个核心的平均 CPU 利用率。相反,您可能习惯于 unix 风格,它只是将每个核心的利用率相加,因此对于您的 4 核机器来说,最大值将为 400%。
有趣的是,psuitl.Process.cpu_percent
计算的是 Unix 风格的利用率。
归档时间: |
|
查看次数: |
15995 次 |
最近记录: |