Python实现让程序运行在指定CPU上

可以使用第三方包psutil实现

pip install psutil

写个Demo在win10上验证下效果

# coding: utf-8
import psutil


# 写个斐波那契数列计算函数,用于消耗cpu资源
def fibbo(number):
    if number <= 2:
        return 1
    else:
        return fibbo(number - 1) + fibbo(number - 2)


# 获取逻辑cpu的数量
count = psutil.cpu_count()
print(f"逻辑cpu的数量是{count}")
# Process实例化时不指定pid参数,默认使用当前进程PID,即os.getpid()
p = psutil.Process()
cpu_lst = p.cpu_affinity()
print("cpu列表", cpu_lst)
# 将当前进程绑定到cpu15上运行,列表中也可以写多个cpu
p.cpu_affinity([15])
# 运行函数消耗cpu资源
fibbo(80)

运行效果

我的本本CPU是8核(物理)16线程(逻辑)

逻辑cpu的数量是16
cpu列表 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

通过任务管理器监控发现确实运行在了CPU15上,效果不错~
Python实现让程序运行在指定CPU上_第1张图片
以后有时间再验证下numa架构服务器上的运行效果~

你可能感兴趣的:(Python,python,开发语言,后端)