如何在Jupyter笔记本上的python多处理任务后释放RAM?

2024-09-27 21:23:28 发布

您现在位置:Python中文网/ 问答频道 /正文

在 我在jupyter笔记本上使用python中的多处理。我能够使用工人池并行化代码。我面临内存释放的问题。 在

import multiprocessing

def forSources(n):
   temp_pairings = []
   temp_pairings += dfs_edges2(digraph, flights[n[0]], n[1])
   print(multiprocessing.current_process().name, len(temp_pairings))
   return (temp_pairings)

for depth in range(0, 2):
   pool = multiprocessing.Pool()
   result = pool.map(forSources, [[i, depth] for i in range(0, 3000)])
   for pairings in result:
      final_result += pairings
   if len(final_result) > 5000:
      break
   pool.terminate()
   pool.join()

在 在提取final_result之后,我想在进程终止时立即释放RAM。 例如:此运行占用大约3.5GB的RAM,运行完成后,系统监视器仍显示额外的3.5GB内存。我试着删除所有形成的变量,即使关闭jupyter笔记本也不能解决问题。在


Tags: 内存inforlen笔记本jupyterrangeresult

热门问题