idea有个配置文件,可以设置内存大小的,就跟咱的jvm的内存里面的堆大小,栈大小等等,可以设置的,而且设置了之后,你这个的性能就会得到提升。具体看下面怎么修改。
先说所要修改的文件 idea.vmoptions 的位置,这个不同的平台,估计名称可能有些差别。mac的如下图
具体怎么找到这个地方的,刚刚使用mac的估计不会,老手就会啦,
option + cmd + P 隐藏或显示“访达”窗口中的路径栏
这个就是显示我上图的地步的那个路径,然后你就可以像Windows那样点点点到这个位置啦。
这个是idea的17版本的配置文件里面的信息,默认的设置这么简单,就这么几个。
说明: 1.Xms128m,最小内存 2.Xmx750m,最大内存 3.预留代码缓存的大小 4.UseConcMarkSweepGC,设置年老代为并发收集
默认值设置的太小啦,所以,你使用idea跑稍微大点的项目,你的电脑就会像拖拉机一样,嗡嗡嗡的响,哎哟我新买的macpro啊,启动个多模块的maven项目,就跟拖拉机似的,开始响啦,搞得同桌笑我买的是不是真的啊。尴尬啦。
修改后的配置
因为我电脑是16g的内存,现在8g算是标配吧,最小一个g,最大2个g。下面的代码缓存也给一个g。
修改的地方,就修改啦这么三个地方,至于为啥设置2个g最大,因为我看啦一篇文章,他做过测试啦,你设置的再大就浪费啦,但是系统默认的750m也太小了,项目大的话,分分钟就卡啦,这就跟jvm的内存设置似的,太大的话也不好,太小的话也不好。找个平衡的设置,是不错的。
设置完成之后,需要重启一下idea,然后就会看到下面的变化。注意右下角。
这个地方怎么弄出来?
新增更新:idea升级之后,目前是2021.2版本,这个控制内存使用显示状态的地方换了,具体看下图。
在我没修改之前,这地方是750m的现在修改之后就成2个g啦,现在跑原来呢个嗡嗡嗡响的项目,现在也不响啦,电脑也不发烫啦。
有老铁问,内存8g的怎么着,我也不确定啊。我这放2张图。
这个是16g内存的电脑的内存使用实时图,可以看出来内存压力很小的,基本上也就是四分之一。
这个是8g内存的电脑的内存实时使用图,可以看出来内存压力也不大。也就差不多百分之五十吧。
解释一下:
不要看这2张图,一个16g的内存,但是已经使用了12个g啦,但是8个内存的电脑也已经使用了6.6,约等于7吧。这么看的话,内存使用率基本上都是百分之八九十的样子。
这个是正常的现象,因为内存本来就是给用的,你要是空着一大部分都不使用的话,不就浪费啦吗,所以,这个内存的使用率,不会因为你刚刚的那个配置而变化吧,主要是看那个内存的压力,2个图的内存压力都不大。还可以接受吧。
可以在如下图这个菜单的地方找到这个设置
上面这个截图使用的gc还是旧版的cms gc,下面贴上使用g1gc的配置,文字版,我的版本是2021.2
-Xms1024m
-Xmx2048m
-XX:ReservedCodeCacheSize=1024m
-XX:+UseCompressedOops
-Dfile.encoding=UTF-8
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-XX:CICompilerCount=2
-Dsun.io.useCanonPrefixCache=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Djdk.attach.allowAttachSelf
-Dkotlinx.coroutines.debug=off
-Djdk.module.illegalAccess.silent=true
-Xverify:none
-XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof
-Dide.no.platform.update=true
-Dsun.io.useCanonCaches=false
-XX:ReservedCodeCacheSize=512m
-XX:+UseG1GC
-Dsplash=true
-Dtoolbox.notification.token=97Umdj0YLuibBsUF2oZWyny6WLznUJE8ci9tfLqB-q4=
-Dtoolbox.notification.portFile=/Users/fang/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/212.4746.92/IntelliJ IDEA.app.vmoptions.port
-Didea.plugins.path=/Users/fang/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/212.4746.92/IntelliJ IDEA.app.plugins
复制
加内存(2021.12.16 更新)
之前的这个推荐最大内存是2个G,但是,在这么久的更新之后,他的功能越来越牛x了,相应的就需要给安排更多的内存给他挥霍,用空间换他的高速反应。所以:除了改了使用G1GC之外,内存给翻倍,设置最大4个G,也是必须的,要是开发的项目再大,还是卡的话,内存还是可以继续扩大的。毕竟G1GC就是针对大内存设计的GC器,前提是咱电脑内存充裕。不过现在都是8G起步,16G标配吧。