在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Java/ JVM: CMS過(guò)程中的promotion failure和concurrent

JVM: CMS過(guò)程中的promotion failure和concurrent mode failure有何區(qū)別,如何應(yīng)對(duì)?

JVM: CMS過(guò)程中的promotion failure和concurrent mode failure有何區(qū)別,如何應(yīng)對(duì)?

回答
編輯回答
離夢(mèng)

1、promotion failure,是在minor gc過(guò)程中,survivor的剩余空間不足以容納eden及當(dāng)前在用survivor區(qū)間存活對(duì)象,只能將容納不下的對(duì)象移到年老代(promotion),而此時(shí)年老代滿了無(wú)法容納更多對(duì)象,通常伴隨full gc,因而導(dǎo)致的promotion failure。這種情況通常需要增加年輕代大小,盡量讓新生對(duì)象在年輕代的時(shí)候盡量清理掉。
2、concurrent mode failure,主要是由于cms的無(wú)法處理浮動(dòng)垃圾(Floating Garbage)引起的。這個(gè)跟cms的機(jī)制有關(guān)。cms的并發(fā)清理階段,用戶線程還在運(yùn)行,因此不斷有新的垃圾產(chǎn)生,而這些垃圾不在這次清理標(biāo)記的范疇里頭,cms無(wú)法再本次gc清除掉,這些就是浮動(dòng)垃圾。由于這種機(jī)制,cms年老代回收的閾值不能太高,否則就容易預(yù)留的內(nèi)存空間很可能不夠(因?yàn)楸敬蝕c同時(shí)還有浮動(dòng)垃圾產(chǎn)生),從而導(dǎo)致concurrent mode failure發(fā)生??梢酝ㄟ^(guò)-XX:CMSInitiatingOccupancyFraction的值來(lái)調(diào)優(yōu)。

2017年1月2日 08:21