我有一个运行得很好的程序。但它在5-6天内工作良好,之后它被SIGKILL杀死。当我注意到内存是问题所在时,我在任何需要分配的地方进行了严格的重新分配。
我使用linux的top命令来监控内存使用情况。
到目前为止,该程序运行正常。但是,top命令中的VIRT虚拟内存属性增长缓慢。为什么会这样呢?我把东西放到任何需要的地方。
提前谢谢。:)
发布于 2012-12-03 21:14:26
如果您是在Linux上进行开发,请使用g++ -Wall -g编译您的应用程序,改进它直到没有给出任何警告,并使用gdb和valgrind来调试内存泄漏。
您可能会对使用Boehm's conservative garbage collector感兴趣。
另请阅读有关memory fragmentation的信息。
发布于 2012-12-03 21:17:42
您可以使用valgrind检查任何内存管理不善
尝试运行应用程序一段时间,并检查是否存在任何可能的内存问题。
https://stackoverflow.com/questions/13683984
复制相似问题