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个数
来源:CSDN
作者:酷python
链接:https://blog.csdn.net/KWSY2008/article/details/52041768