python 设置运行进程的CPU

☆樱花仙子☆ 提交于 2019-12-05 20:41:38

         Nginx服务器会把自己的每个worker进程绑定到一个CPU上,以期减少进程间切换所带来的开销,最大限度利用多核框架。在实现上,使用Linux的sched_setaffinity()这个函数来实现。第三方库affinity封装了该函数,使得我们可以将python的进程绑定到指定的CPU上。

         用法非常简单

        

affinity.get_process_affinity_mask(pid)  #查看pid这个进程用了哪一个CPU
affinity.set_process_affinity_mask(pid, 2L) #设置pid在2这个进程上运行
        如果你的机器不是多核的,也就没有必要这么设置了,毕竟只有一个CPU。那么如何知道自己的机器有几颗CPU呢?

       

#coding=utf-8
import psutil

p = psutil.Process()
pro_info = p.as_dict(attrs=['pid', 'name', 'username'])
print psutil.cpu_count()
       psutil开源库,可以获取系统状态,通过它可以知晓机器的CPU个数
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!