OS: Win10 / 8.1
Python: 3.5 / 3.6
My program use mp.Array to share huge data.
But suffer from out of memory after running for a while.
But Windows task manager didn't show which process use that huge memory. And I use pympler to check my python memory usage. Still shows noting. So, I use RamMap to check, it shows a huge shared memory is used.
I can reproduce the case by the simple test code:
#-------------------------------------------------------
import numpy as np
import multiprocessing as mp
import gc
def F ():
a = mp.Array ( 'I', 1800000000, lock = False )
#
F ()
gc.collect ()
#-------------------------------------------------------
No matter how hard I tried. the memory is not released.
I put what I tried in the attachment picture. |