jvm -XX:MetaspaceSize 元空間設置過小引發Full GC的優化


問題:

線上在維護的一個項目,在每次項目發布啟動的時都會觸發一次Full GC 。

排查:

1:結合GC日志查看發生成Full GC 都是項目剛啟動就會發生一次垃圾整理回收的過程如下圖:

2:結合監控系統查看指標發現MeataData使用量如下圖:

檢查JVM參數設置發現參數設置為:

-XX:MetaspaceSize=96m, -XX:MaxMetaspaceSize=192m:這個代表元空間初始值為:96m,最大可占用192m,

結合監控系統的指標:系統運行穩定的情況下MeataData的值在130m左右。

問題引起原因:如果元空間使用量一旦達到或者超過-XX:MetaspaceSize=96m初始值,就會進行擴容,擴容時會引起Full GC。

解決問題:

調整jvm參數為:-XX:MetaspaceSize=192m, -XX:MaxMetaspaceSize=192m

驗證:

調整參數后重新發布項目,發布后,Gc日志情況如下圖:

通過一段時間的監控問題得到解決。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM