本文将为您提供有关如何通过生成和分析Sun HotSpot JVM HPROF堆转储文件来分析JVM内存泄漏问题的教程。
一个现实的案例研究将用于此目的:Weblogic 9.2内存泄漏影响Weblogic Admin服务器。
环境规格
- Java EE服务器:Oracle Weblogic Server 9.2 MP1
- 中间件操作系统:Solaris 10
- Java虚拟机:Sun HotSpot 1.5.0_22
- 平台类型:中间层
监控和故障排除工具
- Quest Foglight(JVM和垃圾收集监视)
- jmap(hprof /堆转储生成工具)
- 通过IBM支持助手进行的Memory Analyzer 1.1(hprof堆转储分析)
- 平台类型:中间层
步骤#1 – WLS 9.2管理服务器JVM监视和泄漏确认
Quest Foglight Java EE监视工具对于从Weblogic Admin服务器识别Java堆泄漏非常有用。 如下所示,Java Heap内存随着时间的推移而增长。
如果您没有为Weblogic环境使用任何监视工具,那么我建议您至少启用HotSpot VM的verbose:gc。 请访问有关此主题的Java 7 verbose:gc教程 ,以获取更多详细说明。