問題描述
大多數人都知道使用idea時,發現idea內存消耗比較嚴重,尤其開啟了idea后,CPU占比可以直接飆升到100%(這主要體現在剛啟動的時候),系統的內存高達80%以上,甚至風扇呼呼作響,於是開始找各種解決方案。目前,就我個人電腦來說,開機后,系統內存有23%左右,此時沒有開啟任何軟件。
個人電腦配置
調整之后
開啟idea之前,內存使用情況,內存有27%左右
開啟idea之后,內存使用情況,暫未運行項目,內存有39%左右
idea同時運行4個微服務項目,內存有60%左右
當然,以上是調整之后的結果! 沒有調整之前真的達到了80%以上了!!!
調整后配置如下,僅供參考
-server
-Xms610m
-Xmx2g
-XX:ReservedCodeCacheSize=512m
-XX:+UseG1GC
-XX:+UseStringDeduplication
-XX:MaxGCPauseMillis=200
-XX:InitiatingHeapOccupancyPercent=85
-XX:G1HeapRegionSize=26
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-XX:CICompilerCount=6
-Dsun.io.useCanonPrefixCache=false
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Djdk.attach.allowAttachSelf=true
-Dkotlinx.coroutines.debug=off
-Djdk.module.illegalAccess.silent=true
-Dfile.encoding=UTF-8
idea 2020.1.1 默認配置
-Xms128m
-Xmx750m
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-XX:CICompilerCount=2
-Dsun.io.useCanonPrefixCache=false
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Djdk.attach.allowAttachSelf=true
-Dkotlinx.coroutines.debug=off
-Djdk.module.illegalAccess.silent=true
主要是修改了默認的垃圾回收器,將原來的-XX:+UseConcMarkSweepGC替換為-XX:+UseG1GC,並針對-XX:+UseG1GC進行相關參數配置,之所有會進行替換,是因為Idea官網目前最新的2021.3.2版本就是采用-XX:+UseG1GC。
至於相關配置參數的含義可以自行查閱相關文檔。