0

我想在 2000 个单独的数据上运行一个代码模块。为此,我使用了以下 python 代码

num_workers = multiprocessing.cpu_count() 
pool = multiprocessing.Pool(processes=num_workers)
print 
results = [pool.apply_async(run_Nested_Cage, args=(bodyid,)) for bodyid in body_IDs]
output = [p.get() for p in results]

它对于 body_IDs 中的 50 个数据运行良好,但是当我提供 2000 个主体时,它开始运行良好,但是在为 424 个主体生成结果后,程序停止而没有任何错误。

我在具有 8 核 32 GB 内存和 100 GB 存储的 AWS EC2 linux ubuntu 服务器上运行它。

谁能帮我确定解决方案?

4

1 回答 1

0

听起来像是内存问题、未捕获的异常或代码复杂性问题。

  1. 添加一些“调试”日志,您可以稍后禁用
  2. 尝试在一大堆水池中旋转,而不是一个巨大的水池
  3. 偶尔终止池实例以释放内存
  4. 运行一些分析器

分析器:

于 2019-04-04T11:26:46.897 回答