一次高IO下的GC分析之旅

起因:收到GC STW報警

【監(jiān)控系統(tǒng)】Total time for which application threads were stopped: 67.7651070 seconds, Stopping threads took: 0.0000240 seconds

快速分析原因

此處不分析具體GC日志,主要分析方法:

  • 從線上拷貝日志到本地

  • 打包成gc.zip格式

  • 上傳到gceasy.io

  • image

找到原因

找到是因為缺IO或內(nèi)存資源導(dǎo)致高IO革娄,并不是GC本身過程耗時太多(上一步GC的報告中獲得):

image

通過監(jiān)控系統(tǒng)翠忠,找到當(dāng)時機器IO飆升(公司內(nèi)部監(jiān)控機器的平臺蜈亩,zabbix實時收集機器的一些狀態(tài)):

image

深層次原因

整個應(yīng)用程序的停頓主要由兩部分組成:由于JVM GC行為造成的停頓(T1->T2)了嚎,以及為了記錄JVM GC日志(T3->T4)壤玫,系統(tǒng)調(diào)用write()被OS阻塞的時間精绎。下面這張圖展示了二者之間的關(guān)系祟霍。

image

解決方案

首先押搪,JVM實現(xiàn)完全可以解決掉這個問題。顯然浅碾,如果將寫GC日志的操作與可能會導(dǎo)致STW停頓的JVM GC處理過程分開大州,這個問題自然就不存在了。例如垂谢,JVM可以將記錄GC日志的功能放到另一個線程中厦画,獨立來處理日志文件的寫入,這樣就不會增加STW停頓的時間了滥朱。但是根暑,這種采用其他線程來處理的方式,可能會導(dǎo)致在JVM崩潰時丟失最后的GC日志信息徙邻。最好的方式排嫌,可能是提供一個JVM選項,讓用戶來選擇適合的方式,但這個方法基本沒辦法我們自己來處理缰犁。
由于后臺IO造成的STW停頓時間淳地,與IO的繁重程度有關(guān)怖糊,所以我們可以采用多種方式來降低后臺IO的壓力。例如颇象,不要在同一節(jié)點上安裝其他IO密集型的應(yīng)用程序伍伤,減少其他類型的日志行為,提高日志回滾頻率等等遣钳。

我們最后的解決辦法是將GC日志文件放到其他低IO磁盤上扰魂,把gc日志放到圖中的/data2,很明顯從iostat來看它的磁盤IO壓力很小。

image
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蕴茴,一起剝皮案震驚了整個濱河市劝评,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌倦淀,老刑警劉巖付翁,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異晃听,居然都是意外死亡,警方通過查閱死者的電腦和手機砰识,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進店門能扒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人辫狼,你說我怎么就攤上這事初斑。” “怎么了膨处?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵见秤,是天一觀的道長。 經(jīng)常有香客問我真椿,道長鹃答,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任突硝,我火速辦了婚禮测摔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘解恰。我一直安慰自己锋八,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布护盈。 她就那樣靜靜地躺著挟纱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪腐宋。 梳的紋絲不亂的頭發(fā)上紊服,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天檀轨,我揣著相機與錄音,去河邊找鬼围苫。 笑死裤园,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的剂府。 我是一名探鬼主播拧揽,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼腺占!你這毒婦竟也來了淤袜?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤衰伯,失蹤者是張志新(化名)和其女友劉穎晚缩,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體浮入,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡算色,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了怎顾。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片读慎。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖槐雾,靈堂內(nèi)的尸體忽然破棺而出夭委,到底是詐尸還是另有隱情,我是刑警寧澤募强,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布株灸,位于F島的核電站,受9級特大地震影響擎值,放射性物質(zhì)發(fā)生泄漏慌烧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一鸠儿、第九天 我趴在偏房一處隱蔽的房頂上張望杏死。 院中可真熱鬧,春花似錦捆交、人聲如沸淑翼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽玄括。三九已至,卻和暖如春肉瓦,著一層夾襖步出監(jiān)牢的瞬間遭京,已是汗流浹背胃惜。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留哪雕,地道東北人船殉。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像斯嚎,于是被迫代替她去往敵國和親利虫。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,851評論 2 361

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