我们有一个运行Java 5的长期运行的服务器应用程序,对其进行分析,我们可以看到随着时间的推移,旧的一代增长缓慢。它已在完整的GC上正确释放,但我希望能够使用堆转储查看Eclipse MAT中无法访问的对象。我已经使用+ XX:HeapDumpOnCtrlBreak成功获得了堆转储,但是JVM总是在转储堆之前执行GC。显然,在Java 6上不会发生这种情况,但目前我们只在5上停留。有什么办法可以防止这种情况?
我建议使用第三方分析器,例如YourKit,它可以使您无需先启动GC即可拍摄快照。增加的好处是,您可以拍摄快照而无需整个ctrl-break恶作剧。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句