现在的位置: 首页 > 综合 > 正文

JVM性能调优之JVM性能监控

2018年01月25日 ⁄ 综合 ⁄ 共 613字 ⁄ 字号 评论关闭

JVM的性能监控主要关注以下几个方面: 垃圾回收、 JIT和类的加载。

垃圾回收器的监控:

几点需要关注的内容:

1. 使用的垃圾回收期的种类

2. java堆的大小

3. 新生代和老年代的大小

4.永久代的大小

5. minor GC的持续时间

6. minor GC的发生频率

7. minor GC回收了多少空间

8. major GC的持续时间

9. major GC的频率

10. 在一个并行的垃圾回收周期中回收的空间

11. 垃圾回收之前和之后java堆的占用空间

12. 垃圾回收前后新生代和老年代的占用空间

13. 垃圾回收前后永久区的占用空间

14. 是老年代的占用空间还是永久代的占用空间超过阀值促发了一次major GC

15. 应用程序是否显示调用了system.gc()方法

minor GC: 回收新生代的空间

major GC:(full GC) 表达了一个回收老年代和永久代的概念。

HotSpot的major GC的默认行为是回收新生代,老年代和永久代的空间。而且新生代的存活对象会被转移到老年代。所以,在一个full GC之后,新生代是空的,老年代和永久代存放着存活对象。如果要HotSpot在full GC时不回收新生代空间,可以用此指令 -XX:-ScavengeBeforeFullGC(-号代表取消)。最好不要取消这个默认行为。因为如果取消的话,在回收老年代的时候,老年代中有些对象可能持有对新生代中某些对象的引用,如果新生代的这些对象没有被回收的话,这些老年代的对象时无法被回收的。

抱歉!评论已关闭.