我有一个Tomcat Java web应用程序,它在加载时抖动Java GC。我认为这是由于大量短寿命物体和未知数量的中等寿命物体的组合。如何生成Java对象生存期的直方图
为了验证这个理论,我想找到一个工具,它可以让我确定所有分配的对象(或每10个对象等的更好性能)的对象生存期。理想情况下,最终输出将是一个直方图,显示生活在不同时间量的对象的相对数量。
我认为这个工具可能会构建在Instrumentation API或JVMTI之上。如果没有好的工具已经这样做了,那么我也会很高兴在编写这样一个工具时最好使用哪个JVM的接口。
您是否尝试过JMX + VisualVM?还是探针? – 2010-07-15 18:46:45
也在代码上运行静态代码分析器。这可能会指出一些关切的领域。 – 2010-07-15 18:50:29
一个不错的免费分析器是Eclipse内存分析器(您不必安装Eclipse)。 重新启动应用程序后,它表现良好一段时间还是它开始跳出门?后者可能表明你只是没有足够的内存可用。 – Preston 2010-07-15 19:44:34