首頁(yè)技術(shù)文章正文

如何解決與GC相關(guān)的問題?

更新時(shí)間:2021-08-04 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

 

一般來講,具體問題具體分析,見招拆招,遇河架橋。要相信問題總沒辦法多。

新生代提升過快問題:

(1)如果頻率太快的話,說明空間不足,首先可以嘗試調(diào)大新生代空間和晉升閾值。

(2)如果內(nèi)存有限,可以

設(shè)置 CMS 垃圾收集在老年代占比達(dá)到多少時(shí)啟動(dòng)來減少問題發(fā)生頻率(越早啟動(dòng)問題發(fā)生頻率越低,但是會(huì)降低

吞吐量,具體得多調(diào)整幾次找到平衡點(diǎn)),參數(shù)如下:如果沒有第二個(gè)參數(shù),會(huì)隨著 JVM 動(dòng)態(tài)調(diào)節(jié) CMS 啟動(dòng)時(shí)間

-XX:CMSInitiatingOccupancyFraction=68 (默認(rèn)是 68)

-XX:+UseCMSInitiatingOccupancyOnly

1628060357854_GC.jpg

老年代碎片嚴(yán)重問題:

(1)如果頻率太快或者 Full GC 后空間釋放不多的話,說明空間不足,首先可以嘗試調(diào)大

老年代空間。

(2)如果內(nèi)存不足,可以設(shè)置進(jìn)行 n 次 CMS 后進(jìn)行一次壓縮式 Full GC,參數(shù)如下:

-XX:+UseCMSCompactAtFullCollection:允許在 Full GC 時(shí),啟用壓縮式 GC

-XX:CMSFullGCBeforeCompaction=n 在進(jìn)行 n 次,CMS 后,進(jìn)行一次壓縮的 Full GC,用以減少 CMS 產(chǎn)生的碎片。






猜你喜歡:

什么是IO流?怎樣區(qū)分不同種類的IO流?

緩存和web緩存分別是什么?

Nginx的location配置詳細(xì)教程

黑馬程序員java開發(fā)培訓(xùn)

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!