GC日志相關(guān)參數(shù)

http://www.cnblogs.com/chy2055/p/5124040.html

原文地址:https://blog.codecentric.de/en/2014/01/useful-jvm-flags-part-8-gc-logging/

作者:PATRICK PESCHLOW篙挽,譯者:Greenster 校對(duì):梁海艦

-XX:+PrintGC

1
[GC 246656K->243120K(376320K), 0.0929090 secs]
2
[Full GC 243120K->241951K(629760K), 1.5589690 secs]

簡(jiǎn)單模式的GC日志格式是與GC算法無(wú)關(guān)的欠肾,日志也沒(méi)有提供太多的信息但校。在上面的例子中,我們甚至無(wú)法從日志中判斷是否GC將一些對(duì)象從young generation移到了old generation惠遏。所以詳細(xì)模式的GC日志更有用一些鲫惶。

-XX:PrintGCDetails

如果不是使用-XX:+PrintGC淮逻,而是-XX:PrintGCDetails爽锥,就開(kāi)啟了詳細(xì)GC日志模式。在這種模式下熏版,日志格式和所使用的GC算法有關(guān)纷责。我們首先看一下使用Throughput垃圾收集器在young generation中生成的日志。為了便于閱讀這里將一行日志分為多行并使用縮進(jìn)

[GC
    [PSYoungGen: 142816K->10752K(142848K)] 246648K->243136K(375296K),
    0,0935090 secs
]
[Times: user=0,55 sys=0,10, real=0,09 secs]

既然我們已經(jīng)知道了young generation的大小撼短,所以很容易判定發(fā)生了GC再膳,因?yàn)閥oung generation無(wú)法分配更多的對(duì)象空間:已經(jīng)使用了142848K中的142816K。我們可以進(jìn)一步得出結(jié)論曲横,多數(shù)從young generation移除的對(duì)象仍然在堆空間中喂柒,只是被移到了old generation:通過(guò)對(duì)比綠色的和藍(lán)色的部分可以發(fā)現(xiàn)即使young generation幾乎被完全清空(從142816K減少到10752K),但是所占用的堆空間仍然基本相同(從246648K到243136K)禾嫉。

詳細(xì)日志的“Times”部分包含了GC所使用的CPU時(shí)間信息灾杰,分別為操作系統(tǒng)的用戶空間和系統(tǒng)空間所使用的時(shí)間。同時(shí)熙参,它顯示了GC運(yùn)行的“真實(shí)”時(shí)間(0.09秒是0.0929090秒的近似值)艳吠。如果CPU時(shí)間(譯者注:0.55秒+0.10秒)明顯多于”真實(shí)“時(shí)間(譯者注:0.09秒),我們可以得出結(jié)論:GC使用了多線程運(yùn)行孽椰。這樣的話CPU時(shí)間就是所有GC線程所花費(fèi)的CPU時(shí)間的總和昭娩。實(shí)際上我們的例子中的垃圾收集器使用了8個(gè)線程。

接下來(lái)看一下Full GC的輸出日志:

[Full GC
    [PSYoungGen: 10752K->9707K(142848K)]
    [ParOldGen: 232384K->232244K(485888K)] 243136K->241951K(628736K)
    [PSPermGen: 3162K->3161K(21504K)],
    1,5265450 secs
]
[Times: user=10,96 sys=0,06, real=1,53 secs]

Full GC也可以通過(guò)顯式的請(qǐng)求而觸發(fā)黍匾,可以是通過(guò)應(yīng)用程序栏渺,或者是一個(gè)外部的JVM接口。這樣觸發(fā)的GC可以很容易在日志里分辨出來(lái)锐涯,因?yàn)檩敵龅娜罩臼且浴癋ull GC(System)”開(kāi)頭的磕诊,而不是“Full GC”。

對(duì)于Serial垃圾收集器全庸,詳細(xì)的GC日志和Throughput垃圾收集器是非常相似的秀仲。唯一的區(qū)別是不同的generation日志可能使用了不同的GC算法(例如:old generation的日志可能以Tenured開(kāi)頭,而不是ParOldGen)壶笼。使用垃圾收集器作為一行日志的開(kāi)頭可以方便我們從日志就判斷出JVM的GC設(shè)置。

對(duì)于CMS垃圾收集器雁刷,young generation的詳細(xì)日志也和Throughput垃圾收集器非常相似覆劈,但是old generation的日志卻不是這樣。對(duì)于CMS垃圾收集器,在old generation中的GC是在不同的時(shí)間片內(nèi)與應(yīng)用程序同時(shí)運(yùn)行的责语。GC日志自然也和Full GC的日志不同炮障。而且在不同時(shí)間片的日志夾雜著在此期間young generation的GC日志。但是了解了上面介紹的GC日志的基本元素坤候,也不難理解在不同時(shí)間片內(nèi)的日志胁赢。只是在解釋GC運(yùn)行時(shí)間時(shí)要特別注意,由于大多數(shù)時(shí)間片內(nèi)的GC都是和應(yīng)用程序同時(shí)運(yùn)行的白筹,所以和那種獨(dú)占式的GC相比智末,GC的持續(xù)時(shí)間更長(zhǎng)一些并不說(shuō)明一定有問(wèn)題。

-XX:+PrintGCTimeStamps和-XX:+PrintGCDateStamps

使用-XX:+PrintGCTimeStamps可以將時(shí)間和日期也加到GC日志中徒河。表示自JVM啟動(dòng)至今的時(shí)間戳?xí)惶砑拥矫恳恍兄邢倒荨@尤缦拢?/p>

0,185: [GC 66048K->53077K(251392K), 0,0977580 secs]
0,323: [GC 119125K->114661K(317440K), 0,1448850 secs]
0,603: [GC 246757K->243133K(375296K), 0,2860800 secs]

如果指定了-XX:+PrintGCDateStamps,每一行就添加上了絕對(duì)的日期和時(shí)間顽照。

2014-01-03T12:08:38.102-0100: [GC 66048K->53077K(251392K), 0,0959470 secs]
2014-01-03T12:08:38.239-0100: [GC 119125K->114661K(317440K), 0,1421720 secs]
2014-01-03T12:08:38.513-0100: [GC 246757K->243133K(375296K), 0,2761000 secs]

如果需要也可以同時(shí)使用兩個(gè)參數(shù)由蘑。推薦同時(shí)使用這兩個(gè)參數(shù),因?yàn)檫@樣在關(guān)聯(lián)不同來(lái)源的GC日志時(shí)很有幫助代兵。

-Xloggc

缺省的GC日志時(shí)輸出到終端的尼酿,使用-Xloggc:也可以輸出到指定的文件。需要注意這個(gè)參數(shù)隱式的設(shè)置了參數(shù)-XX:+PrintGC和-XX:+PrintGCTimeStamps植影,但為了以防在新版本的JVM中有任何變化谓媒,我仍建議顯示的設(shè)置這些參數(shù)

可管理的JVM參數(shù)

一個(gè)常常被討論的問(wèn)題是在生產(chǎn)環(huán)境中GC日志是否應(yīng)該開(kāi)啟。因?yàn)樗a(chǎn)生的開(kāi)銷(xiāo)通常都非常有限何乎,因此我的答案是需要開(kāi)啟句惯。但并不一定在啟動(dòng)JVM時(shí)就必須指定GC日志參數(shù)。

HotSpot JVM有一類(lèi)特別的參數(shù)叫做可管理的參數(shù)支救。對(duì)于這些參數(shù)抢野,可以在運(yùn)行時(shí)修改他們的值。我們這里所討論的所有參數(shù)以及以“PrintGC”開(kāi)頭的參數(shù)都是可管理的參數(shù)各墨。這樣在任何時(shí)候我們都可以開(kāi)啟或是關(guān)閉GC日志指孤。比如我們可以使用JDK自帶的jinfo工具來(lái)設(shè)置這些參數(shù),或者是通過(guò)JMX客戶端調(diào)用HotSpotDiagnostic MXBean的setVMOption方法來(lái)設(shè)置這些參數(shù)贬堵。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末恃轩,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子黎做,更是在濱河造成了極大的恐慌叉跛,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蒸殿,死亡現(xiàn)場(chǎng)離奇詭異筷厘,居然都是意外死亡鸣峭,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)酥艳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)摊溶,“玉大人,你說(shuō)我怎么就攤上這事充石∧唬” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵骤铃,是天一觀的道長(zhǎng)拉岁。 經(jīng)常有香客問(wèn)我,道長(zhǎng)劲厌,這世上最難降的妖魔是什么膛薛? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮补鼻,結(jié)果婚禮上哄啄,老公的妹妹穿的比我還像新娘。我一直安慰自己风范,他們只是感情好咨跌,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著硼婿,像睡著了一般锌半。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上寇漫,一...
    開(kāi)封第一講書(shū)人閱讀 52,457評(píng)論 1 311
  • 那天刊殉,我揣著相機(jī)與錄音,去河邊找鬼州胳。 笑死记焊,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的栓撞。 我是一名探鬼主播遍膜,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼瓤湘!你這毒婦竟也來(lái)了瓢颅?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤弛说,失蹤者是張志新(化名)和其女友劉穎挽懦,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體剃浇,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡巾兆,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年猎物,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了虎囚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片角塑。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖淘讥,靈堂內(nèi)的尸體忽然破棺而出圃伶,到底是詐尸還是另有隱情,我是刑警寧澤蒲列,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布窒朋,位于F島的核電站,受9級(jí)特大地震影響蝗岖,放射性物質(zhì)發(fā)生泄漏侥猩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一抵赢、第九天 我趴在偏房一處隱蔽的房頂上張望欺劳。 院中可真熱鬧,春花似錦铅鲤、人聲如沸划提。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)鹏往。三九已至,卻和暖如春骇塘,著一層夾襖步出監(jiān)牢的瞬間伊履,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工款违, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留唐瀑,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓奠货,卻偏偏與公主長(zhǎng)得像介褥,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子递惋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

推薦閱讀更多精彩內(nèi)容

  • 原文閱讀 前言 這段時(shí)間懈怠了柔滔,罪過(guò)! 最近看到有同事也開(kāi)始用上了微信公眾號(hào)寫(xiě)博客了萍虽,挺好的~給他們點(diǎn)贊睛廊,這博客我...
    碼農(nóng)戲碼閱讀 5,994評(píng)論 2 31
  • 作者:一字馬胡 轉(zhuǎn)載標(biāo)志 【2017-11-12】 更新日志 日期更新內(nèi)容備注 2017-11-12新建文章初版 ...
    beneke閱讀 2,211評(píng)論 0 7
  • 轉(zhuǎn)載blog.csdn.net/ning109314/article/details/10411495/ JVM工...
    forever_smile閱讀 5,373評(píng)論 1 56
  • 聲明:原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處杉编。http://www.reibang.com/u/e02df63eaa87 1超全、J...
    唐影若凡閱讀 1,244評(píng)論 0 6
  • 轉(zhuǎn)自別人的博客http://www.cnblogs.com/mockitobuilder/p/3754509.ht...
    JaeGwen閱讀 730評(píng)論 0 1