我有一个使用并行python运行的python程序。这个模块可以扩展我提交给计算机各个核心的工作,我不知道它是如何做到的,但是当我检查我的系统监视器时,它清楚地显示了两个核心的100%使用率(我正在运行一些非常繁重的工作)。
是否有任何python模块或工具可以让我在运行作业时从系统监控程序中捕获单个核心使用情况?
答案 0 :(得分:6)
>>> for x in range(3):
... psutil.cpu_percent(interval=1, percpu=True)
...
[4.0, 6.9]
[7.0, 8.5]
[1.2, 9.0]
答案 1 :(得分:0)
因此,如果您有办法调用系统监视器将核心用法写入stdout,您可以随时执行以下操作:
import subprocess
command = 'top -b -n 1' # or whatever you use
output = subprocess.Popen(command, stdout=subprocess.PIPE).communicate[0]
# parse output here and extract cpu usage. this is super-dependent
# on the layout of your system monitor output
cpuline = output.split('\n')[2]
您可以了解subprocess
的工作原理here。
答案 2 :(得分:0)
import psutil
values = psutil.cpu_percent(percpu=True)
print values
[0.0, 0.0, 0.0]
values = psutil.cpu_percent()
print values
0.0