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

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

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

  • 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...点击查看项目介绍 ;
  • 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;

截止目前, 星球 内专栏累计输出 63w+ 字,讲解图 2808+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 2200+ 小伙伴加入学习 ,欢迎点击围观

我注意到,尤其是在我的工作区中处理多个项目时,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 的项目有很大的改进。

相关文章