我有一个运行良好的程序。但在它被杀死 SIGKILL
之后,它可以正常工作 5-6 天。当我发现内存是问题时,我在分配完成的地方进行了严格的释放。
我正在使用 linux top
命令来监控内存使用情况。
截至目前,该程序运行良好。但是,top
命令中的VIRT
虚拟内存属性正在缓慢增加。为什么呢?我在需要的地方重新分配东西。
提前致谢。 :)
最佳答案
如果您在 Linux 上开发,使用 g++ -Wall -g
编译您的应用程序,改进它直到没有给出警告,并使用 gdb
和 valgrind调试内存泄漏。
您可能对使用 Boehm's conservative garbage collector 感兴趣.
另请阅读 memory fragmentation .
关于c++ - C++程序中的虚拟内存大小增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13683984/