VisualVM:理想的堆内存使用情况图
我使用VisualVM
监视我的Java应用程序(用JDK 1.7
编写)。 以下是显示此应用程序运行期间的堆内存使用情况的图表。
看这张图看到它有很多尖峰。 这些尖峰表示应用程序创建对象。 一旦应用程序完成后,它会使用gc破坏它们(在本例中隐式调用)。
此外,这是应用程序仍在运行时内存分析器的屏幕截图
对我来说,图的向上和向下性表明java对象的有效使用。 这个推论是否正确?
人们应该瞄准的堆使用图的理想性质是什么?
有没有其他方法可以改进我的应用程序的堆内存使用情况?
对我来说,图的向上和向下性表明java对象的有效使用。 这个推论是否正确?
我会说它的垃圾收集器的有效使用。 我会建议创建更少的对象可能更有效。
人们应该瞄准的堆使用图的理想性质是什么?
这取决于你的应用程序。 我倾向于瞄准几乎完全平坦的一个。
有没有其他方法可以改进我的应用程序的堆内存使用情况?
加载
在你的情况下,最好的选择是减少你生产垃圾的数量。
只要堆的大小随着时间的推移几乎相同,你就可以。 由于在Sun JVM中暂停世界gc的性质,所使用的堆应该上下移动。 看起来应用程序中会生成很多短暂的对象,但效率可能很低,但有时您需要创建它们。 这是Java的生活方式:D
链接地址: http://www.djcxy.com/p/79957.html上一篇: VisualVM: Ideal Heap Memory Usage Graph
下一篇: VisualVM : Comparing performance of two version of same application