在相應的domain目錄下進入setDomainEnv.shjava
JAVA_OPTIONS="後面增長web
sun jdk:dom
${JAVA_OPTIONS} -verbosegc -Xverboselog:/home/weblogic/bea/gc.`date +%Y%m%d_%H%M%S`jvm
IBM jdkspa
${JAVA_OPTIONS} -verbosegc -Xloggc:/home/weblogic/bea/gc.`date +%Y%m%d_%H%M%S`線程
故此,gc開關打開日誌
每次showdown的時候(包括宕機的狀況),weblogic實例後就會生成gc日誌文件來記錄java虛擬機的gc日誌,包括其中具體線程的詳細信息blog
若是要打印gc的詳細信息,則能夠加上如下參數內存
-XX:+PrintGCDetails虛擬機
gc日誌會打印出類如下信息:
0.077: [GC 0.077: [DefNew: 1364K->437K(4928K), 0.0017301 secs]
0.079: [Tenured: 8704K->949K(10944K), 0.1680245 secs] 9556K->949K(15872K),
[Perm : 141K->141K(12288K)], 0.1698671 secs] [Times: user=0.00 sys=0.00, real=0.17 secs]
0.249: [Full GC (System) 0.249: [Tenured: 9141K->9142K(10944K), 0.0032902 secs] 9320K->9142K(15936K),
[Perm : 141K->141K(12288K)], 0.0033866 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
Heap
def new generation total 6912K, used 122K [0x22cb0000, 0x23430000, 0x28200000)
eden space 6144K, 2% used [0x22cb0000, 0x22ccebf0, 0x232b0000)
from space 768K, 0% used [0x232b0000, 0x232b0000, 0x23370000)
to space 768K, 0% used [0x23370000, 0x23370000, 0x23430000)
tenured generation total 15240K, used 9142K [0x28200000, 0x290e2000, 0x32cb0000)
the space 15240K, 59% used [0x28200000, 0x28aed808, 0x28aeda00, 0x290e2000)
compacting perm gen total 12288K, used 141K [0x32cb0000, 0x338b0000, 0x36cb0000)
the space 12288K, 1% used [0x32cb0000, 0x32cd37a0, 0x32cd3800, 0x338b0000)
ro space 10240K, 45% used [0x36cb0000, 0x37137290, 0x37137400, 0x376b0000)
rw space 12288K, 54% used [0x376b0000, 0x37d3ace8, 0x37d3ae00, 0x382b0000)
1. 0.077表示GC發生的時間,從JVM啓動的時候開始算,單位是秒。
2. [Tenured: 8704K->949K(10944K), 0.1680245 secs] 9556K->949K(15872K), 8704K->949K(10944K)表示GC前該內存區域已使用容量-> GC後該內存區域已使用容量 (該內存區域總容量),9556K->949K(15872K)表示GC前Java堆已使用容量 -> GC後Java堆已使用容量 (Java堆總容量)。
3. GC和Full GC只是表示此次垃圾收集的停頓類型,而不是用來區分新生代GC仍是老年代GC的。若是有Full,說明此次GC是發生了Stop-The-World。
4. [DefNew]、[Tenured]、[Perm]表示GC發生的區域,這裏顯示的區域名稱與使用的GC收集器是密切相關的,例如像上面的收集器中的新生代名爲[Default New Generation],因此顯示的是[DefNew]。若是是ParNew收集器,新生代名稱就會變爲[ParNew],意爲[Parallel New Generation]。若是採用Parallel Scavenge收集器,那它配套的新生代稱爲[PSYoungGen],老年代和永久代同理,名稱也是由收集器決定的。
由於gc日誌中打印出的時間是距jvm啓動後的時間,因此最好在建立gc日誌文件時記錄建立的時間,如`date +%Y%m%d_%H%M%S`,這樣才能具體算出具體的gc時間