前言
這篇文章的問題來源於,
我之前寫了一個程式會導致記憶體用完導致程式被 killed 的問題,
那時候很困擾到底哪幾行導致的錯誤,
因此那時候就研究了 memory_profiler 這個套件
安裝
pip install memory_profiler
範例程式碼
import numpy as np
from memory_profiler import profile
@profile
def foo():
d = np.ones((100, 100, 100))
return d
if __name__ == "__main__":
foo()
結果
透過在指定的 func 增加 decorator 「@profile」,
我們可以知道每一行程式碼導致的記憶體變化。