有时候我们会遇到java程序使用内存过多的情况,这种情况一般是因为程序有内存泄漏,那么如何分析是否有内存泄漏呢?其实原因比较简单,先用jmap来生成一个进程的内存快照,然后利用heapAnalyzer或者Mod4J来对这个快照进行分析,找到内存使用最多的对象。其实有无内存泄漏的一个表现就是内存分布是否均匀,如果不均匀,一般来说可能是有问题的,这个时候就要具体分析了。
有时候我们会遇到java程序使用内存过多的情况,这种情况一般是因为程序有内存泄漏,那么如何分析是否有内存泄漏呢?其实原因比较简单,先用jmap来生成一个进程的内存快照,然后利用heapAnalyzer或者Mod4J来对这个快照进行分析,找到内存使用最多的对象。其实有无内存泄漏的一个表现就是内存分布是否均匀,如果不均匀,一般来说可能是有问题的,这个时候就要具体分析了。