我正在使用多处理池在远程linux服务器上并行运行python3脚本,如下所示:
import multiprocessing
def somefunc(day):
#do something
print(day)
if __name__ == '__main__':
pool = multiprocessing.Pool(6) #6 worker processes
days = range(1,32) #iterate over 31 days (1 month)
pool.map(somefunc, days)
pool.close()
pool.join()
当我运行top
时,所有6个工作进程都显示CPU百分比超过100%,通常为500%-600%。我知道这显示为单个CPU的百分比,这意味着每个工作人员都在使用多个内核。该服务器总共有32个CPU(4个插槽,每个插槽4个核心,每个核心2个线程),但是我只能使用6个(服务器由几个人共享)。
是否可以将每个工作进程限制为1个CPU?