如果我在Python解释器中创建一个具有令人无法接受的大量进程的池,它显然会出现错误,但是在执行此 *** 作之前看起来似乎没有清除分叉进程,因此会使环境变脏,并且系统的其余部分无法分叉进程.
@H_502_5@>>> from multiprocessing import Pool>>> p = Pool(1000)Traceback (most recent call last): file "有没有办法避免/补救这个,还是被认为是一个错误?最佳答案
Is there some way to avoID/remedy this,
不要那样做.
or is it consIDered a BUG?
是的,因为如果初始化程序失败,所有分配的资源都应该被解除分配.您应该检查您正在使用的2.7的特定版本,并查看在以后的版本中是否修复了任何多处理特定的库错误(2.7.6发行说明:http://hg.python.org/cpython/raw-file/99d03261c1ba/Misc/NEWS).
我假设您的平台是基于堆栈跟踪中的路径的OSX.这是一个关于errno 35的帖子(在OSX中似乎是EAGAIN),在分叉时 – I can’t run more than 100 processes
无论您想要完成什么,似乎您需要在应用程序级别上限制资源使用.这意味着您可能需要重新考虑您的解决方案.使用您当前的解决方案并修复错误,您仍然可能会在其他环境中看到系统范围内的资源限制.
总结 以上是内存溢出为你收集整理的“资源暂时不可用”后的Python多处理池恢复全部内容,希望文章能够帮你解决“资源暂时不可用”后的Python多处理池恢复所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)