內(nèi)存溢出異常處理

參考文檔:Java Collectors

[GC [< collector >: < starting occupancy1 > -> < ending occupancy1 >, < pause time1 > secs] < starting occupancy3 > -> < ending occupancy3 >, < pause time3 > secs]

< collector >? ? ? ? ? ? ? ? ? ? ? GC收集器的名稱

< starting occupancy1 >? ? 新生代在GC前占用的內(nèi)存

< ending occupancy1 >? ? 新生代在GC后占用的內(nèi)存

< pause time1 >? ? ? ? ? ? ? ? 新生代局部收集時(shí)jvm暫停處理的時(shí)間

< starting occupancy3 >? ? JVM Heap 在GC前占用的內(nèi)存

< ending occupancy3 >? ? JVM Heap 在GC后占用的內(nèi)存

< pause time3 >? ? ? ? ? ? ? ? GC過程中jvm暫停處理的總時(shí)間


執(zhí)行參數(shù):

-Xms128M -Xmx256M -XX:PermSize=64M -XX:MaxPermSize=64M -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+ParallelRefProcEnabled -XX:+CMSClassUnloadingEnabled? -XX:CMSInitiatingOccupancyFraction=80 -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSFullGCsBeforeCompaction=5 -XX+UseCMSCompactAtFullCollection -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError

所以:

PermSize=67108864(非堆內(nèi)存大小梯影,Perm代大行寄)

InitialHeapSize=134217728(初始化堆內(nèi)存大卸㈣搿)

MaxHeapSize=268435456 (最大堆內(nèi)存大谢娉痢)

NewSize=89481216(Young代內(nèi)存大星现辍)

MaxNewSize=89481216(Young代內(nèi)存最大大小)

OldSize=178954240(Old代內(nèi)存大小)

正常的CMS處理流程:

2017-03-15T19:00:24.845+0800: 9.826: [GC [1 CMS-initial-mark: 36126K(43712K)] 44831K(122368K), 0.0220800 secs] [Times: user=0.05 sys=0.02, real=0.02 secs]

2017-03-15T19:00:24.868+0800: 9.848: [CMS-concurrent-mark-start]

2017-03-15T19:00:25.130+0800: 10.110: [CMS-concurrent-mark: 0.256/0.262 secs] [Times: user=0.45 sys=0.14, real=0.26 secs]

2017-03-15T19:00:25.130+0800: 10.110: [CMS-concurrent-preclean-start]

2017-03-15T19:00:25.130+0800: 10.111: [CMS-concurrent-preclean: 0.001/0.001 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]

2017-03-15T19:00:25.131+0800: 10.111: [CMS-concurrent-abortable-preclean-start]

2017-03-15T19:00:25.475+0800: 10.455: [GC2017-03-15T19:00:25.475+0800: 10.455: [ParNew: 78656K->8704K(78656K), 0.1270550 secs] 114782K->47719K(122368K), 0.1272540 secs] [Times: user=0.29 sys=0.02, real=0.12 secs]

2017-03-15T19:00:25.898+0800: 10.878: [CMS-concurrent-abortable-preclean: 0.270/0.767 secs] [Times: user=2.42 sys=0.06, real=0.77 secs]

2017-03-15T19:00:25.904+0800: 10.884: [GC[YG occupancy: 63473 K (78656 K)]2017-03-15T19:00:25.904+0800: 10.884: [Rescan (parallel) , 0.0750590 secs]2017-03-15T19:00:25.979+0800: 10.960: [weak refs processing, 0.0104990 secs]2017-03-15T19:00:25.990+0800: 10.970: [class unloading, 0.0014200 secs]2017-03-15T19:00:25.991+0800: 10.972: [scrub symbol table, 0.0028960 secs]2017-03-15T19:00:25.994+0800: 10.975: [scrub string table, 0.0006860 secs] [1 CMS-remark: 39015K(43712K)] 102488K(122368K), 0.0912600 secs] [Times: user=0.34 sys=0.00, real=0.09 secs]

2017-03-15T19:00:25.999+0800: 10.979: [CMS-concurrent-sweep-start]

2017-03-15T19:00:26.024+0800: 11.004: [CMS-concurrent-sweep: 0.024/0.025 secs] [Times: user=0.09 sys=0.00, real=0.03 secs]

2017-03-15T19:00:26.024+0800: 11.004: [CMS-concurrent-reset-start]

2017-03-15T19:00:26.027+0800: 11.007: [CMS-concurrent-reset: 0.003/0.003 secs] [Times: user=0.01 sys=0.00, real=0.00 secs]

說(shuō)明:

【初始化記錄,會(huì)停頓】[GC [1 CMS-initial-mark: 當(dāng)前old代大小 (old代容量) ] 當(dāng)前堆內(nèi)大小 (堆容量)

【標(biāo)記開始】

【標(biāo)記結(jié)束及耗時(shí)】

【預(yù)清理開始】

【預(yù)清理結(jié)束】

【可中斷預(yù)清理開始】

【執(zhí)行了ParNew GC】[ParNew: 當(dāng)前Young代大小->回收后Young代大小(Young代容量), 0.1270550 secs] 回收前堆的大小->回收后堆的大小(堆的容量)

【可中斷預(yù)清理結(jié)束】

【CMS處理過程悯搔,在remark時(shí)會(huì)停頓

【清理開始】

【清理結(jié)束】

【重置開始】

【重置結(jié)束】

惡化流程分析:

查詢整個(gè)GC Log,找到惡化銜接點(diǎn):

2017-03-16T13:19:17.213+0800: 65942.193: [GC2017-03-16T13:19:17.214+0800: 65942.194: [ParNew: 78656K->78656K(78656K), 0.0000890 secs]2017-03-16T13:19:17.214+0800: 65942.194: [CMS: 171692K->174783K(174784K), 1.0692500 secs] 250348K->179670K(253440K), [CMS Perm : 55543K->55525K(65536K)], 1.0706310 secs] [Times: user=12.60 sys=0.00, real=1.07 secs] 【想要通過GC舌仍,騰空Young妒貌,但是明顯Old也不夠地方了,要開始對(duì)Old做CMS】

2017-03-16T13:19:18.287+0800: 65943.267: [GC [1 CMS-initial-mark: 174783K(174784K)] 179700K(253440K), 0.0125980 secs] [Times: user=0.00 sys=0.00, real=0.01 secs]

···

2017-03-16T13:19:19.074+0800: 65944.055: [GC[YG occupancy: 5318 K (78656 K)]2017-03-16T13:19:19.075+0800: 65944.055: [Rescan (parallel) , 0.0074880 secs]2017-03-16T13:19:19.082+0800: 65944.062: [weak refs processing, 0.0027200 secs]2017-03-16T13:19:19.085+0800: 65944.065: [class unloading, 0.0067020 secs]2017-03-16T13:19:19.092+0800: 65944.072: [scrub symbol table, 0.0140110 secs]2017-03-16T13:19:19.106+0800: 65944.086: [scrub string table, 0.0014150 secs] [1 CMS-remark: 174783K(174784K)] 180102K(253440K), 0.0345230 secs] [Times: user=0.00 sys=0.00, real=0.03 secs]

···

2017-03-16T13:19:19.247+0800: 65944.227: [CMS-concurrent-reset: 0.001/0.001 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]

2017-03-16T14:30:00.068+0800: 70185.049: [GC [1 CMS-initial-mark: 174553K(174784K)] 253175K(253440K), 0.1776490 secs] [Times: user=0.18 sys=0.00, real=0.18 secs]

2017-03-16T14:30:00.248+0800: 70185.228: [CMS-concurrent-mark-start]

2017-03-16T14:30:00.249+0800: 70185.229: [GC2017-03-16T14:30:00.250+0800: 70185.230: [ParNew: 78656K->78656K(78656K), 0.0000570 secs]2017-03-16T14:30:00.250+0800: 70185.230: [CMS2017-03-16T14:30:00.623+0800: 70185.604: [CMS-concurrent-mark: 0.364/0.375 secs] [Times: user=0.38 sys=0.00, real=0.38 secs]

(concurrent mode failure): 174553K->174784K(174784K), 1.6327610 secs] 253209K->185593K(253440K), [CMS Perm : 55528K->55525K(65536K)], 1.6338660 secs] [Times: user=1.62 sys=0.00, real=1.64 secs] 【concurrent mode failure铸豁,CMS回收Old代速度太慢了灌曙,CMS工作完成前Old已經(jīng)被填滿了,需要降低CMSInitiatingOccupancyFraction

2017-03-16T14:30:02.137+0800: 70187.117: [GC [1 CMS-initial-mark: 174784K(174784K)] 202184K(253440K), 0.0560980 secs] [Times: user=0.06 sys=0.00, real=0.06 secs]

···

2017-03-16T14:30:02.944+0800: 70187.925: [GC[YG occupancy: 29953 K (78656 K)]2017-03-16T14:30:02.945+0800: 70187.925: [Rescan (parallel) , 0.0363880 secs]2017-03-16T14:30:02.981+0800: 70187.961: [weak refs processing, 0.0018180 secs]2017-03-16T14:30:02.983+0800: 70187.963: [class unloading, 0.0068980 secs]2017-03-16T14:30:02.990+0800: 70187.970: [scrub symbol table, 0.0135000 secs]2017-03-16T14:30:03.003+0800: 70187.984: [scrub string table, 0.0014260 secs] [1 CMS-remark: 174784K(174784K)] 204737K(253440K), 0.0619150 secs] [Times: user=0.17 sys=0.00, real=0.06 secs]

···

2017-03-16T14:30:03.153+0800: 70188.133: [CMS-concurrent-reset: 0.002/0.002 secs] [Times: user=0.00 sys=0.00, real=0.01 secs]

結(jié)合Dump分析:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末节芥,一起剝皮案震驚了整個(gè)濱河市在刺,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌藏古,老刑警劉巖增炭,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件忍燥,死亡現(xiàn)場(chǎng)離奇詭異拧晕,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)梅垄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門厂捞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人队丝,你說(shuō)我怎么就攤上這事靡馁。” “怎么了机久?”我有些...
    開封第一講書人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵臭墨,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我膘盖,道長(zhǎng)胧弛,這世上最難降的妖魔是什么尤误? 我笑而不...
    開封第一講書人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮结缚,結(jié)果婚禮上损晤,老公的妹妹穿的比我還像新娘。我一直安慰自己红竭,他們只是感情好尤勋,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著茵宪,像睡著了一般最冰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上稀火,一...
    開封第一講書人閱讀 52,394評(píng)論 1 310
  • 那天锌奴,我揣著相機(jī)與錄音,去河邊找鬼憾股。 笑死鹿蜀,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的服球。 我是一名探鬼主播茴恰,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼斩熊!你這毒婦竟也來(lái)了往枣?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤粉渠,失蹤者是張志新(化名)和其女友劉穎分冈,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體霸株,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡雕沉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了去件。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坡椒。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖尤溜,靈堂內(nèi)的尸體忽然破棺而出倔叼,到底是詐尸還是另有隱情,我是刑警寧澤宫莱,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布丈攒,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏巡验。R本人自食惡果不足惜识椰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望深碱。 院中可真熱鬧腹鹉,春花似錦、人聲如沸敷硅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)绞蹦。三九已至力奋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間幽七,已是汗流浹背景殷。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留澡屡,地道東北人猿挚。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像驶鹉,于是被迫代替她去往敵國(guó)和親绩蜻。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

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