一.问题
写公司项目时经常会出现鼠标箭头不停旋转,大概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 卡顿。
网友评论