我正在尝试分析/分析一个核心JAVA应用程序。
我将JConsole与月食垫结合使用。
我在Perm-Gen图表中观察到(在Windows XP计算机上记录的1小时内的数据):
代码-缓存:
内存池Perm-Gen(共享-rw):
内存池Perm-Gen(共享-R0):
内存池:
我的问题是,
这里的理想行为指的是一种状态,它代表:
上述问题也适用于堆空间分析。
以下是补充说明:
更新1:
log-living。请看附件。请提供投入。

发布于 2013-08-07 15:19:50
有几项建议:
1)沟JConsole。VisualVM包含在JDK中,并且在各个方面都有优势(并且包括一个桥接模式,这样您甚至可以使用旧插件,如果这就是让您一直使用JConsole的唯一原因)。
2)打开GC登录。你至少需要这些旗子:
-Xloggc:(用于更全面的GC日志记录) -XX:+PrintGCDetails (用于更详细的输出) -XX:+PrintTenuringDistribution (显示JVM假定的延长阈值)
找到一个分析日志的工具--您需要注意对象的工作集以及PermGen,即使后者是您最关心的问题。GCViewer是免费的,或者有一些商业工具(完全公开--我为jClarity工作,该公司为此目的生产了Censum工具)。
3)你需要跑一小时以上的时间。许多应用程序在很长一段时间内不会稳定下来。
4)再看一遍你的数字,这看上去不太寻常/问题。为什么要调优JVM的这一部分呢?该制度的哪些方面表明这是一个严重的问题,需要加以研究?你是如何决定这一点的,这个问题是如何表现出来的?
https://stackoverflow.com/questions/18076886
复制相似问题