一.問題
寫公司項目時經常會出現鼠標箭頭不停旋轉,大概15S時間寫不出代碼,即便是反應過來也是隔幾十S就又會出現一次。
於是我每次遇到這種情況就是重啟IDEA,或者重啟電腦
二.解決方法1,賦予更多的內存
1.定位配置文件
idea.vmoptions的位置
idea.vmoptions原來的內容
-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:+UseCompressedOops
-Dfile.encoding=UTF-8
-XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof
-javaagent:/Users/admin/.jetbrains/jetbrains-agent-v3.2.0.de72.619
主要參數及說明
說明:
1.Xms128m--最小內存
2.Xmx750m--最大內存
3.預留代碼緩存的大小
4.UseConcMarkSweepGC--設置年老代為並發收集
問題根本
為什么在使用的時候會出現卡頓、電腦起熱、甚至風扇呼呼作響的原因就很清楚了。默認值設置的太小,所以IDEA跑稍微大點的項目就會承受不了。OK,既然我們發現了問題,那么把默認值設置越大就會越好嗎,當然是不對的啦!
2.修改配置文件
idea.vmoptions修改之后的內容
-Xms1024m
-Xmx2048m
-XX:ReservedCodeCacheSize=1024m
-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:+UseCompressedOops
-Dfile.encoding=UTF-8
-XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof
-javaagent:/Users/admin/.jetbrains/jetbrains-agent-v3.2.0.de72.619
為什么設置2個g最大,因為我看了一篇文章,他做過測試,設置的再大就是浪費,但是系統默認的750m太小,項目大的話,分分鍾就GG,這就跟jvm的內存設置似的,太大的話也不好,太小的話也不好。找個平衡的設置,是不錯的。
OK。設置完成后我們保存一下當然是要重啟IntelliJ IDEA了~~
3.idea設置內存顯示
IntelliJ IDEA--->Preferences找到Appearance & Behavior--->Appearance勾選Disable mnemonics in menu
開啟內存提醒
三.解決方法2--設置Reactive
四.解決方法3--阿里巴巴P3C插件,實時檢測功能導致的
關閉實時檢測功能
五.解決方法4--關閉git
比較大的項目,git 會實時掃描提示修改的地方,實時掃描會加大性能消耗,導致 idea 卡頓。