import sys
print("{}{: >40}{}{: >10}{}".format('|','Variable Name','|','Memory(M)','|'))
print(" ------------------------------------------------------")
for var_name in dir():
if not var_name.startswith("_"):
var_size=sys.getsizeof(eval(var_name))/1024**2
if var_size>=1: #这里只输出所占内存大于等于1M的变量
print("{}{: >40}{}{:>10.2f}{}".format('|',var_name,'|',var_size,'|'))
找到所占内存较大但又用处不大的变量后,可以用 del var_name 方法删除以回收内存。
参考:在Jupyter(IPython)上查找和删除需要大量内存的变量 | 码农家园