在我们日常使用IDEA进行开发时,可能会遇到许多卡顿的瞬间,明明我们的机器配置也不低啊?为什么就会一直卡顿呢?
原来这是因为IDEA软件在我们安装的时候就设置了默认的内存使用上限(通常很小),这就是造成我们使用IDEA时卡顿的根本原因。
比如我这台电脑,明明是16GB的运行内存,但是IDEA默认给我分配的使用上限是1GB,当我运行大量代码时自然而然的就会产生卡顿。
我们可以通过显示内存使用情况来查看当前项目占用的内存大小。
可以看到当前我的程序占用了690MB的内存,而上限是1024MB(在性能突发时完全承受不住)。我们可以通过进入IDEA的设置来更改这些配置。
具体步骤:(三步)
1.选择顶部导航栏中的Help,然后点击Edit Custom VM Options(自定义虚拟机内存)。
2.接下来我们将会看到这个界面:
-Xmx1024m // 最大内存上限为:1024MB(1GB) -Xms256m // 初始内存分配大小为:256MB -XX:ReservedCodeCacheSize=128m //代码缓冲区大小:128MB -XX:+UseG1GC
我们对其进行适当的修改(具体根据个人电脑配置),并保存文件:
-Xmx4096m -Xms4096m -XX:ReservedCodeCacheSize=256m -XX:+UseG1GC
3. 缓存清理(使新配置生效):
选择 File ---> Invalidate Caches(清理无效的缓存)
保持默认的选项,选择确定清理缓存并重启IDEA (结束)。
好了,最后我们来看一下重启之后的IDEA效果~没错,很流畅
另外说一句,JetBrains系列的产品都可以通过这种设置来解决卡顿的问题。没错,包括PyCharm、Android Studio、WebStorm等,其余参数说明如下:
参数说明:
-server:一定要作为第一个参数,在多个CPU时性能佳 -Xms:初始Heap大小,使用的最小内存,cpu性能高时此值应设的大一些 -Xmx:java heap最大值,使用的最大内存 -XX:PermSize:设定内存的永久保存区域 -XX:MaxPermSize:设定最大内存的永久保存区域 -XX:MaxNewSize: +XX:AggressiveHeap 使 Xms 失去意义。 -Xss:每个线程的Stack大小 -verbose:gc 现实垃圾收集信息 -Xloggc:gc.log 指定垃圾收集日志文件 -Xmn:young generation的heap大小,一般设置为Xmx的3、4分之一 -XX:+UseParNewGC :缩短minor收集的时间 -XX:+UseConcMarkSweepGC :缩短major收集的时间
提示:此选项在Heap Size 比较大而且Major收集时间较长的情况下使用更合适。
本文就是愿天堂没有BUG给大家分享的内容,大家有收获的话可以分享下,想学习更多的话可以到微信公众号里找我,我等你哦。