eclipse.ini的虚拟机参数 – eclipse.ini文件在Mac和Windows上的位置

eclipse.ini是用来控制Eclipse启动的配置文件。我们可以使用eclipse.ini vm来配置Eclipse的虚拟机参数,如JDK的使用、永久代空间、最大堆和最小堆大小,通过Xms和Xmx参数进行设置。

eclipe.ini文件的位置

对于Windows系统来说,eclipse.ini文件与eclipse.exe文件存储在同一目录中,如下图所示。而对于Mac OS X系统来说,该文件位于应用程序内部。因此,如果Eclipse应用程序存储在下载目录中,eclipse.ini文件的位置将为:

pankaj$ cd ~/Downloads/Eclipse.app/Contents/Eclipse/

您可以通过首先在Eclipse应用程序上点击右键,然后点击“显示包内容”,接着在下一个窗口中导航至Contents/Eclipse目录来到达此位置,如下图所示。以下是我默认Eclipse安装中的示例eclipse.ini文件。

-startup
../Eclipse/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar
--launcher.library
../Eclipse/plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.300.v20150602-1417
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.7
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-XX:MaxPermSize=256m
-Xms256m
-Xmx1024m
-Xdock:icon=../Resources/Eclipse.icns
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts

有关eclipse.ini文件的一些重要点。

    每个”-vmargs”之前的行都包含一个选项,后面跟着选项的值。
    在”-vmargs”之后的所有行都作为JVM参数传递,因此在”-vmargs”之前必须指定所有Eclipse启动的选项和参数。例如,用于使用JDK的-vm设置。
    “–launcher.XXMaxPermSize”指定Eclipse启动器使用的最大Permgen空间,如果您的Eclipse启动失败并出现内存不足错误,可以增加此值。
    如果您遇到内存不足错误,应尝试增加Permgen空间和最大堆空间的值。它们是使用VM参数”-XX:MaxPermSize”、”-Xms”和”-Xmx”进行配置。Permgen空间的默认值为256MB,适用于小到中等规模的项目。

eclipse.ini 虚拟机参数

当您安装了多个JDK并且想要确保Eclipse在特定的JVM上运行而不是选择系统配置的JDK路径时,eclipse.ini中的vm参数是非常有用的。必须在-vmargs之前定义。

eclipse.ini中的vm参数Mac

我的eclipse.ini文件片段展示了在Mac OS X中配置eclipse使用JDK8的-vm参数的用法。

-vm
/Library/Java/JavaVirtualMachines/jdk1.8.0_73.jdk/Contents/Home/bin
-vmargs

你可以类似地配置Windows或Linux操作系统。只需相应更改JDK的bin目录路径即可。

eclipse.ini的Permgen空间

如果在处理较大的代码库、为大型项目进行 Maven 更新等操作时出现 java.lang.OutOfMemoryError: PermGen space 错误,那么你应该增加 Permgen 空间。以下是在 eclipse.ini 文件中增加 Permgen 空间至 512 MB 的配置。

-XX:MaxPermSize=512M

请注意,从Java 8开始,已经没有永久代空间了,因此设置此选项将不会产生任何效果。然而,您也不会因为永久代空间而出现内存溢出错误。

eclipse.ini堆空间配置

如果您遇到与堆空间相关的OutOfMemoryError错误,那么您可以尝试增加eclipse可用的最大堆大小。您可以通过编辑-Xmx值来轻松完成。例如,下面的代码片段将增加eclipse的堆大小到2 GB。

-Xmx2048m

这就是关于eclipse.ini配置和VM参数的简要总结。