现在内存过大到底到何种程度。是否引起了GC或者FUll GC。是否影响了正常工作。
1.明白现在内存有多大,可以通过工具看,和使用的内存比例。如果项目中需要缓存很多缓存,可以理解使用是合理的。如果服务器内存够大,应用可以适当调整XMX xms参数进行JVM调整。
2.如果系统中没有使用缓存,和大对象内存过高,那就考虑是否有内存泄漏。可以使用jmap等jVM调优工具进行对象分析。然后定位过高原因修改代码。
jmap -dump:format=b,file=文件名 [pid]
dump当前系统,根据dump文件我们可以分析当前系统中存在的内存问题。
分析dump文件的工具很多,JDK自带的Jhat,Eclipse也有相关的插件。
我使用的是Eclipse Memory Analyzer,功能很强大,能够生成各种报表,另外可以在不同的时间生成不同的dump,然后通过工具分析两个dump的内存变化。
大家专注我,我写了好多JVM 原理和调优的文章。
文版权归是三僡然所有,转载请标明出处。欢迎转载,欢迎评论,欢迎分享。如果你有文章想分享可以联系我。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)