import os
from multiprocessing import Process


cpu_available = os.sched_getaffinity(os.getpid()) # 获取可被绑定的核心

os.sched_setaffinity(os.getpid(), list(cpu_available)[:1]) # 绑定核心

def func():
while True:
pass


process = [Process(target=func) for i in range(4)]
for proc in process:
proc.start()

 

上述代码,开了4个进程,但是只绑定了一个核,此时,查看CPU的利用率,可以看到,当进程只绑定一个核时,对于CPU的使用率只有100%左右

【转载】  python进程绑定CPU_Python

 

修改成绑定两个核心

import os
from multiprocessing import Process


cpu_avia = os.sched_getaffinity(os.getpid())

os.sched_setaffinity(os.getpid(), list(cpu_avia)[:2]) # 绑定两个核心

def func():
while True:
pass


process = [Process(target=func) for i in range(4)]
for proc in process:
proc.start()

 

此时再查看CPU的使用率,差不多200%,即占用到了两个核的资源

【转载】  python进程绑定CPU_Python_02

 

 

 

=======================================