通过增加堆大小提高 Eclipse 性能

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡/ 赠书活动

目前,正在 星球 内带小伙伴们做第一个项目:全栈前后端分离博客项目,采用技术栈 Spring Boot + Mybatis Plus + Vue 3.x + Vite 4手把手,前端 + 后端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,陪伴式直到项目上线,目前已更新了 204 小节,累计 32w+ 字,讲解图:1416 张,还在持续爆肝中,后续还会上新更多项目,目标是将 Java 领域典型的项目都整上,如秒杀系统、在线商城、IM 即时通讯、权限管理等等,已有 870+ 小伙伴加入,欢迎点击围观

我注意到,尤其是在我的工作区中处理多个项目时,Eclipse 变得迟缓且响应缓慢。我在 Eclipse 中启用了堆监视器/状态(请参阅“ 在 Eclipse 中显示堆状态 ”):

极限堆状态

所以 Java VM 的已用堆达到了大约 500 MByte 的限制,并且似乎在乱扔垃圾?如何增加堆大小?

Eclipse.ini 文件

堆大小是在 Eclipse 启动时通过 .ini 文件指定和设置的。该 ini 文件位于“eclipse”文件夹内,例如,用于普通 Eclipse 的“eclipse.ini”,或用于 Freescale Kinetis Design Studio v3.0.0 的“kinetis-design-studio.ini”。

我原来的 kinetis-design-studio.ini 如下:


 -startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20150204-1316
-product
com.somniumtech.branding.kds.ide
-showSplash
com.somniumtech.branding.kds
--launcher.defaultAction
openFile
-name
Kinetis Design Studio
--launcher.XXMaxPermSize
256m
-vm
features/com.somniumtech.jre.win32.win32.x86_1.7.0.76/jre/bin
-vmargs
-Dosgi.requiredJavaVersion=1.7
-Xms256m
-Xmx512m
-XX:PermSize=256m
-XX:MaxPermSize=512m

指定堆大小的选项

有趣的选项是传递给 Java 虚拟机 (VM) 的 -vmargs 之后的选项:

  • -Xms :初始启动堆大小
  • -Xmx :最大堆大小

-XX 选项在内部传递给 VM,对于较新的 VM,它们会被忽略。

-Xmx512m 解释了为什么我的内存被限制在大约 512 MByte。我达到了那个极限,而 Java VM 内存管理器正在为降低性能而挣扎。所以我将该值增加到


 -startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20150204-1316
-product
com.somniumtech.branding.kds.ide
-showSplash
com.somniumtech.branding.kds
--launcher.defaultAction
openFile
-name
Kinetis Design Studio
--launcher.XXMaxPermSize
256m
-vm
features/com.somniumtech.jre.win32.win32.x86_1.7.0.76/jre/bin
-vmargs
-Dosgi.requiredJavaVersion=1.7
-Xms256m
-Xmx512m
-XX:PermSize=256m
-XX:MaxPermSize=512m

并且性能显着提高 :-) 。现在我看到我的配置需要比可用内存多得多的内存,这解释了 Eclipse 的缓慢:

堆状态


:idea: 根据您机器上的内存量,您可能会使用低于 1024 的值。我的机器上有 8 GB 内存,1024 的值工作正常。

概括

根据我工作区中项目的数量,以及我使用的插件,默认的 Eclipse Java VM 大小可能不够用。编辑 eclipse 文件夹内的 .ini 并将 -Xmx 参数的值增加到更高的值,您应该会看到性能提升。我特别注意到使用 Processor Expert 的项目有很大的改进。