Python多处理池在一台计算机上冻结,因为它在另一台计算机上工作?
我开发了一个带有Python多处理池在一台计算机上冻结,因为它在另一台计算机上工作?,python,numpy,multiprocessing,python-multiprocessing,Python,Numpy,Multiprocessing,Python Multiprocessing,我开发了一个带有Pool和map函数的多处理python脚本。它使用Numpy。有趣的是,即使在我的计算机中只有一个进程池,它也会冻结(在两个[20000,36]dim矩阵的点积上,当然其中一个是转置的),并且它在我的远程服务器上工作,没有任何缺陷。但是,如果代码是连续的(没有映射功能),那么它也可以在我的计算机中运行 和我的计算机相比,服务器的内存非常大。我以为问题出在内存上,只尝试了单进程池,结果它又冻结了。此外,正如我从系统监视器中观察到的,内存指示器并没有溢出。甚至单个进程池也会冻结。如
Pool
和map
函数的多处理python脚本。它使用Numpy。有趣的是,即使在我的计算机中只有一个进程池,它也会冻结(在两个[20000,36]
dim矩阵的点积上,当然其中一个是转置的),并且它在我的远程服务器上工作,没有任何缺陷。但是,如果代码是连续的(没有映射功能),那么它也可以在我的计算机中运行
和我的计算机相比,服务器的内存非常大。我以为问题出在内存上,只尝试了单进程池,结果它又冻结了。此外,正如我从系统监视器中观察到的,内存指示器并没有溢出。甚至单个进程池也会冻结。如果我在没有池的情况下按顺序运行同一个函数,它就可以正常工作
有没有关于如何追踪问题或原因的想法
我的电脑有Python2.7.6,服务器有2.7.5。如果有已知的错误,请指示我。
这两台机器都在Ubuntu上。你在其他电脑上试过吗?看看代码会有所帮助。您能否发布启动/加入子流程的代码部分、池正在执行的函数以及任何共享或全局对象?问题是内存溢出。