我的程序工作得很好。但它被杀死后{5-}天可以正常工作5-6天。当我观察到内存是问题时,我在完成分配时进行了严格的释放。
我正在使用linux SIGKILL
命令来监视内存使用情况。
截至目前,该计划工作正常。但是,top
命令中的VIRT
虚拟内存属性慢慢增长。为什么会这样 ?我在任何需要的地方解除分配。
提前致谢。 :)
答案 0 :(得分:8)
如果您在Linux上进行开发,请使用g++ -Wall -g
编译您的应用程序,对其进行改进,直到没有给出警告,并使用gdb
和valgrind来调试内存泄漏。
您可能对使用Boehm's conservative garbage collector感兴趣。
另请阅读memory fragmentation。
答案 1 :(得分:1)
您可以使用valgrind
检查内存管理不善尝试运行应用程序一段时间并检查任何可能的内存问题。