太多的死进程影响Python多处理中的计算效率

时间:2019-04-16 03:12:20

标签: python python-3.x multiprocessing subprocess

好吧,我目前正在使用multiprocessing.Pool.map()以大容量方式通过subprocess.call()迭代地调用fortran可执行程序。但是,运行几个小时后,fortran可执行文件有很多死进程,这会严重影响整体计算效率。

我想知道如何避免该问题?

对不起,由于上下文原因,我无法给出整个可复制实例。但是这是我的代码的一些快照:


from multiprocessing import Pool
import subprocess
import numpy as np

def fortran_exe():
    # call fortran exe through subprocess
    subprocess.call()

p = Pool(36, maxtasksperchild=5000)
results = np.array(p.map(fortran_exe, range(250000), chunksize=500))
p.close()
p.join()

0 个答案:

没有答案