【发布时间】:2023-02-01 19:40:55
【问题描述】:
我正在努力寻找一种在 Python 中实际释放 RAM 的方法。
通过使用 htop 监控其使用情况,我尝试释放 RAM 空间,但通常的 del 或 gc.collect() 不起作用。
这是在非常复杂的代码(函数、库、方法……)的上下文中。
所以,我决定写一个非常简单的脚本,在htop上监控的同时测试一下:
import numpy as np
import gc
y = []
for i in range(10000):
y.append( np.zeros( 1000 ) )
del y
g.collect()
%reset -f
即使在 %reset -f 之后,RAM 也没有被释放。
释放它的唯一方法是在 ipython 控制台中执行exit。
是否有实际释放 RAM 的命令?
【问题讨论】:
-
将内存还给操作系统并不总是微不足道或不可能的。对此有很多疑问,但往往没有确凿的答案。至少知道在 Python 请求新内存之前内存将被重用。
标签: python garbage-collection ipython ram