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上,效果不错~
使用任务管理器查看CPU的使用情况
以后有时间再验证下numa架构服务器上的运行效果~

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值