1. 程式人生 > >JVM效能調優之JVM效能監控

JVM效能調優之JVM效能監控

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(-號代表取消)。最好不要取消這個預設行為。因為如果取消的話,在回收老年代的時候,老年代中有些物件可能持有對新生代中某些物件的引用,如果新生代的這些物件沒有被回收的話,這些老年代的物件時無法被回收的。