【发布时间】:2021-12-01 14:10:49
【问题描述】:
Python 3.10
假设我有一个这样的 python 脚本:
import psutil
print("="*40, "CPU Info", "="*40)
print("Physical cores:", psutil.cpu_count(logical=False))
print("Total cores:", psutil.cpu_count(logical=True))
print("CPU Usage Per Core:")
for i, percentage in enumerate(psutil.cpu_percent(percpu=True, interval=1)):
print(f"Core {i}: {percentage}%")
print(f"Total CPU Usage: {psutil.cpu_percent()}%")
它给出以下输出:
======================================== CPU Info ========================================
Physical cores: 4
Total cores: 8
CPU Usage Per Core:
Core 0: 13.6%
Core 1: 1.5%
Core 2: 18.5%
Core 3: 0.0%
Core 4: 16.9%
Core 5: 7.7%
Core 6: 9.2%
Core 7: 9.2%
Total CPU Usage: 9.7%
我需要补充的是,如果内核 0 到 3 的任何一个使用率超过 50%,那么做一些事情(我知道如何编写代码的做某事部分)。
我将如何编写其中的 if 部分?我被卡住的地方是明确指出核心号码。
我还需要对其他内核执行此操作,有时是所有内核,但如果我看到上面示例的语法,我应该能够弄清楚如何涵盖其他示例。
【问题讨论】:
-
if percentage >= 50.0:? -
您在
i中有核心编号,并且您使用if块来执行逻辑。你被什么困住了? -
我只对核心 0-3 感兴趣。我不明白上述逻辑是如何捕捉到这一点的。