one-line execute occur memory leak
TeusEE opened this issue · comments
jupyterlab/jupyterlab#16139
while i use spyder/Jupyterlab, i found some unintended(i presume) memory leak.
above issue, i try to make list/array inside of python function and return it
but if i try to use the function with one line execution, there happen incresing memory and never decrease
first i think it is problem of spyder/JupyterLab, but same issue occur in IPython Shell in command prompt
i attach code below.
please review
import numpy as np
import gc
cnt = 100000000
def np_gen():
_ret = np.ones(cnt, dtype = np.int32)
try:
return _ret
finally:
while gc.collect():
print("collect gcing...")
Mem usage of windows task mgr.
case study.
if i use %reset, all variable remove.
%reset out => remove output, but memory never recovered
%xdel => can't remove because output data has no variable name
Interesting.
If someone want to investigate, you might want to use https://objgraph.readthedocs.io/en/stable/ and a weakref to the created object to see what is holing to it.