在执行其他内存密集型操作之前,我该如何清除垃圾收集对象?或者当内存满时是否会自动完成?
为什么Python(+Eclipse)在2GB(Win32)时似乎会抛出内存异常,而实际上Windows上仍有一些未使用的内存?是否有任何定义的限制?
在执行其他内存密集型操作之前,我该如何清除垃圾收集对象?或者当内存满时是否会自动完成?
为什么Python(+Eclipse)在2GB(Win32)时似乎会抛出内存异常,而实际上Windows上仍有一些未使用的内存?是否有任何定义的限制?
gc
模块来调整垃圾收集器的性能,例如使用gc.set_threshold
,或者您可以“手动”收集垃圾:gc.collect
。然而,我认为大多数情况下,对象在其引用计数归零时立即被收集。gc
文档中的这行代码:
要调试泄漏程序,请调用
gc.set_debug(gc.DEBUG_LEAK)
。
在Windows 32位应用程序中,最大内存限制为2GB。有一个启动选项可以将其提升到3Gb。您还可以尝试升级到64位的Windows/Python。