Python

Python 使用しなくなった変数の破棄 / GC

破棄(del)、メモリの開放(GC)の動作を確認する。

import os, psutil, gc

cp = psutil.Process(os.getpid())


def print_mem_usage():
  m = cp.memory_info().rss / 1024 / 1024
  print("{} MB".format(m))


print_mem_usage()  # 14.00390625 MB

a = [i for i in range(1000000)]  # 40MB分くらいの配列を作成

print_mem_usage()  # 52.68359375 MB

del a  # 破棄
gc.collect()  # GCの実行

print_mem_usage()  # 14.0859375 MB