1
jupyter 노트북의 python에서 다중 처리를 사용하고 있습니다. 나는 근로자 풀을 사용하여 코드를 병렬화 할 수있다. 나는 메모리 할당 해제 문제에 직면하고있다.Jupyter Notebook에서 파이썬으로 다중 처리 작업 후 RAM을 비우는 방법은 무엇입니까?
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 노트북을 닫아도 문제가 해결되지 않는다.