原因

当前idea占用的运行内存大于默认的最大运行内存

解决办法

修改允许占用最大运行内存

修改idea允许占用的最大运行内存,根据下图打开idea的内存配置文件,修改Xmx(根据自己的情况设置,一般2048M就可以了)

image-20220219031756132

我的idea内存配置文件内容如下:(主要修改Xmx,数值为内存的大小,单位为兆)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
-Xms512m
-Xmx2048m
-XX:ReservedCodeCacheSize=512m
-XX:+UseG1GC
-XX:SoftRefLRUPolicyMSPerMB=50
-XX:CICompilerCount=2
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-ea
-Dsun.io.useCanonCaches=false
-Djdk.http.auth.tunneling.disabledSchemes=""
-Djdk.attach.allowAttachSelf=true
-Djdk.module.illegalAccess.silent=true
-Dkotlinx.coroutines.debug=off

实时查看占用的运行内存

连续按两下SHIFT键,搜索Show Memory Indicator,出现下图划红线的选项后用鼠标点击一下就打开占用内存监控了

image-20220219032528068

然后在idea的右下角可以看到当前占用的运行内存以及idea允许占用的最大运行内存

image-20220219032504148

继续报错

经过上面的改动后,只正常了一段时间,然后又报错了,那就根据下图修改

image-20220219041802281

又报错

改了之后,一段时间后还是报错,后来我在网上看到有可能是插件占用内存过高(特别是检查代码以及bug的插件),我卸载了下图两个插件中的QAPlug - PMD(有可能是由于两个插件重复了)以及一些不常用的插件后,idea又可以正常使用了

image-20220219042524016