java heap_javaHeap的组成及GC监控
javaHeap
分為三個段:YongGeneration、OldGeneration、PermanentGeneration
Young(年輕代)
年 輕代分三個區。一個Eden區,兩個Survivor區。大部分對象在Eden區中生成。當Eden區滿時,還存活的對象將被復制到Survivor區 (兩個中的一個),當這個Survivor區滿時,此區的存活對象將被復制到另外一個Survivor區,當這個Survivor去也滿了的時候,從第一 個Survivor區復制過來的并且此時還存活的對象,將被復制“年老區(Tenured)”。需要注意,Survivor的兩個區是對稱的,沒先后關 系,所以同一個區中可能同時存在從Eden復制過來 對象,和從前一個Survivor復制過來的對象,而復制到年老區的只有從第一個Survivor去過來的對象。而且,Survivor區總有一個是空 的。
Tenured(年老代)
年老代存放從年輕代存活的對象。一般來說年老代存放的都是生命期較長的對象。
Perm(持久代)
用 于存放靜態文件,如今Java類、方法等。持久代對垃圾回收沒有顯著影響,但是有些應用可能動態生成或者調用一些class,例如Hibernate等, 在這種時候需要設置一個比較大的持久代空間來存放這些運行過程中新增的類。持久代大小通過-XX:MaxPermSize=進行設置。
jstat -gcutil ${pid} 毫秒數
S0和S1:Survivor區
E:Eden區
O:Young區
P:Permanent區
YGC:Young區GC的次數
YGCT:Young區GC的時間
FGC:FullGC的次數
FGCT:FullGC的時間
GCT:GC的時間消耗
詳細介紹參看http://www.cnblogs.com/zhguang/p/java-jvm-gc.html
總結
以上是生活随笔為你收集整理的java heap_javaHeap的组成及GC监控的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python怎么筛选excel数据_【I
- 下一篇: 【ES6(2015)】新的声明方式 le