分析WAS產(chǎn)生的GC Log的工具,打開(kāi)詳細(xì)垃圾回收產(chǎn)生gc log日志文件native_stderr.log 和 native_stdout.log 。做gc調(diào)優(yōu)目標(biāo),就是減少gc頻率和耗時(shí),以及減少程序暫停時(shí)間。
ga使用實(shí)例:
1、下載之后解壓。2、雙擊解壓后文件ga414.jar(前提是安裝的jdk要求1.6版本)
3、打開(kāi)第一步驟中,收集到的gc文件,我操作系統(tǒng)是solaris,使用點(diǎn)擊open verbosegc files(Solaris/HP_UX)
使用說(shuō)明,可以看幫助
4、要注意下面紅框的內(nèi)容
Number of all Garbage Collections :垃圾回收總次數(shù)
Number of Full Garbage Collections :Full gc總次數(shù)
Total Garbage Collection pause :垃圾回收中斷總時(shí)間
overhead :垃圾回收耗時(shí)/垃圾回收間隔時(shí)間
First Garbage Collection :首次收集垃圾回收時(shí)間
Last Garbage Collection :最后一次收集垃圾回收時(shí)間
根據(jù)上面參數(shù):
1、 gc頻率= Number of all Garbage Collections / (Last Garbage Collection - First Garbage Collection)
2、 Total Garbage Collection pause
3、 overhead
這3個(gè)是重要的垃圾回收參數(shù),也可以看作為性能指標(biāo)。
我們調(diào)優(yōu)的目標(biāo)就是,期望垃圾回收頻率減少,回收中斷時(shí)間減少,overhead減少。
但是不可能全理想的,因?yàn)檫@些指標(biāo)相互制約,如果減少回收次數(shù),有可能中斷時(shí)間增大,回收耗時(shí)增大。業(yè)界中的說(shuō)法是,gc一次間隔時(shí)間控制大于10秒,gc一次耗時(shí)控制小于500毫秒,overhead控制小于13%。
如果,我們gc已經(jīng)很理想了,我們就沒(méi)有必要去調(diào)試,如果不理想,我們?cè)趺崔k呢?
gc調(diào)優(yōu)目標(biāo)就是:
1、 降低Full GC執(zhí)行頻率
2、 降低Full GC消耗時(shí)間
3、 降低Full GC所造成的應(yīng)用暫停時(shí)間
4、 降低Minor GC執(zhí)行頻率
5、 降低Minor GC消耗時(shí)間