故事是這樣的

某天我發現原本執行都沒有問題的程式突然掛了

仔細一查發現是記憶體使用過多,因為有別人的程式需要資源,跑到一半就被 OS 給砍了

(題外話,砍的優先順序包括你的程式跑了多久、吃多少記憶體等等一堆參數)

而我心中以為,某些用不到的 object reference 在 function return 之後就會釋放

顯然並沒有

於是先找了一些方法像是 delgc.collect() 試圖手動釋放記憶體

但實驗證實也完全沒有用

最後找到一篇文章 (1)

python 要釋放指定的 object 所佔用的 memory 原來要用到 sub-process

著實讓我驚呆了,特此紀念解決的過程:

問題開始

給定一個 .json file,經過 json.load()json.loads() 讀取為 object 之後 ...

read more