在程序C ++中虚拟内存大小增加

时间:2012-12-03 13:12:03

标签: c++ linux

我的程序工作得很好。但它被杀死后{5-}天可以正常工作5-6天。当我观察到内存是问题时,我在完成分配时进行了严格的释放。

我正在使用linux SIGKILL命令来监视内存使用情况。

截至目前,该计划工作正常。但是,top命令中的VIRT虚拟内存属性慢慢增长。为什么会这样 ?我在任何需要的地方解除分配。

提前致谢。 :)

2 个答案:

答案 0 :(得分:8)

如果您在Linux上进行开发,请使用g++ -Wall -g编译您的应用程序,对其进行改进,直到没有给出警告,并使用gdbvalgrind来调试内存泄漏。

您可能对使用Boehm's conservative garbage collector感兴趣。

另请阅读memory fragmentation

答案 1 :(得分:1)

您可以使用valgrind

检查内存管理不善

尝试运行应用程序一段时间并检查任何可能的内存问题。