【发布时间】:2011-07-01 10:32:06
【问题描述】:
在 Windows 任务管理器中,我的应用程序不断消耗越来越多的内存,最终由于内存不足而崩溃。但是,当我使用 MemoryValidator(来自 www.softwareverify.com)检查泄漏时,没有检测到泄漏。为什么会这样?
【问题讨论】:
标签: memory memory-leaks
在 Windows 任务管理器中,我的应用程序不断消耗越来越多的内存,最终由于内存不足而崩溃。但是,当我使用 MemoryValidator(来自 www.softwareverify.com)检查泄漏时,没有检测到泄漏。为什么会这样?
【问题讨论】:
标签: memory memory-leaks
仅仅因为内存使用量不断增加并不意味着它一定会“泄漏”。您可以简单地累积大量活动对象和/或非常大的对象(包含大量数据)。
如果您可以提供有关您使用的语言和应用程序正在做什么的更多信息,我或许可以提供一些更具体的信息!
根据评论更新 好吧,您只需要确保垃圾收集正确进行。我建议 libgc 库来帮助解决这个问题。 http://developers.sun.com/solaris/articles/libgc.html
我能想到的唯一其他原因是您无意中在某处维护对对象的引用,因此它们只是堆积起来。
【讨论】: