我有一个在Solaris中持续运行的进程。随着时间的推移,进程的堆内存使用量不断增加,当超过4 4Gb时,进程核心转储。
我尝试使用Purify运行该进程,但找不到任何真正泄漏内存的代码。
有没有办法分析哪些代码是堆内存使用量增加的原因?进程的堆内存使用量每15分钟增加4Mb或8Mb,而且从未减少过。
我已经使用pmap命令检查了进程堆内存的使用情况。
发布于 2012-07-25 19:25:29
我会将所有对new和delete的调用记录到一个文件中,并记录它们被调用的位置,以找出在没有正确响应的delete的情况下调用new函数的时间。也许你在堆中有循环。
https://stackoverflow.com/questions/11648428
复制相似问题