设置eclipse启动参数解决内存不足问题

http://www.21jn.net/html/62/n-562.html

 

 

刚刚做项目的时候,MyEclipse提示内存不足,我本本内存1G的呀。
错误提示大概如下:
MyEclipse has detected that less than 5% of the 64MB of Perm
Gen (Non-heap memory) space remains. It is strongly recommended
that you exit and restart MyEclipse with new virtual machine memory
paramters to increase this memory. Failure to do so can result in
data loss. The recommended Eclipse memory parameters are:
eclipse.exe -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M

以下是我的MyEclipse快捷方式的参数:
"D:\Eclipse 3.2.2\eclipse.exe" -product com.genuitec.myeclipse.product.ide -vmargs -Duser.language=en -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M -Dosgi.splashLocation="d:\MyEclipse 5.0GA\eclipse\MyEclipseSplash.bmp"

对于MyEclipse的话,直接修改MyEclipse在桌面的快捷方式的参数就可以啦。现在解释这些参数的意思。

-vmargs:说明后面是VM的参数
-Xms40m:虚拟机占用系统的最小内存
-Xmx256m:虚拟机占用系统的最大内存
-XX:PermSize:最小堆大小。一般报内存不足时,都是说这个太小,
堆空间剩余小于5%就会警告,建议把这个稍微设
大一点,不过要视自己机器内存大小来设置
-XX:MaxPermSize:最大堆大小。这个也适当大些
-Xmx512M的5%为25.6M,理论上要求-Xmx的数值与-XX:MaxPermSize必须大于25.6M

把里面的参数改为
-vmargs
-Xms128M
-Xmx512M
-XX:PermSize=128M
-XX:MaxPermSize=256M

所以对于我而言,我只要把我的MyEclipse5.0改-XX:PermSize=128M-XX:MaxPermSize=256M,问题解决!

 

 

eclipse启动参数设置

直接右键eclipse的快捷方式,在"目标"中填入下行

D:\eclipse\eclipse.exe -debug options -vm javaw.exe -nl en_US -clean -vmargs -Xverify:none -XX:+UseParallelGC -XX:PermSize=20M -XX:MaxNewSize=32M -XX:NewSize=32M -Xms128m -Xmx256m

参数注解:

【-debug options -vm javaw.exe】 显示JVM当前内存使用量(注:详见下方《让你的eclipse也能显示JVM当前内存使用量》)

【-nl】后面跟的是语言:英语 en_US 简体中文 zh_CN

【-clean 】是当启动Eclipse IDE时清空缓冲,一般来说在没有更新插件的情况下,去掉这个参数启动速度更快。

【-vmargs】使用JRE的参数,后面就是JRE的参数了:

【-Xverify:none】去掉JAR包数据验证,一般来说只有在网络环境下才需要验证JAR包数据的有效性。本地的话可以不用验证。

【-XX:+UseParallelGC】使用并行垃圾收集机制,据说这个GC算法比较快。具体不清楚。

【-XX:PermSize=20M -XX:MaxNewSize=32M -XX:NewSize=32M】这三个就是设置详细的缓冲数据了。详情看Java官方网站的介绍吧。

【-Xms128m】Java虚拟机初始化内存容量。

【-Xmx256m】Java虚拟机最大使用内存容量,根据你所使用机器的内容大小设置,只要不超过最大内存容量就好。

《让你的eclipse也能显示JVM当前内存使用量》

1、在eclipse根目录下建立一个文件,文件名options,文件内容:org.eclipse.ui/perf/showHeapStatus=true

2、用这条命令启动Eclipse:D:\eclipse\eclipse.exe -debug options -vm javaw.exe

     或者直接右键eclipse的快捷方式,在"目标"中填入这行。

3、启动eclipse,就可以看到下面的状态栏会显示当前JVM内存使用量,另外还可以强制进行垃圾收集。

修改那个ini文件是要注意,修改文件之前一定要注意备份。
加启动参数和在ini中写是一样的,都是启动的配置。

eclipse对于jre的加载顺序:首先执行 -vm 参数;如果没有 -vm 参数,则查找 eclipse\jre 子目录;如果没有找到,eclipse最后才查找在系统中注册的jre。

 包括英文版本和中文版本两种的说明, 特别需要值得一提的是那个 -nl 参数, 可以指定程序启动时所使用的语言.例如:eclipse-nl en_US

 

  将启动英文语言, 这个特性在安装了国际化语言包以后特别有用, 可以方便的切换各个语言的版本. 注意 IBM WSADv5.1也支持这个功能.

  运行 Eclipse

  将 Eclipse 驱动程序安装(解压缩)到某个目录(例如,c:\eclipse)中之后,通过运行顶级安装目录中的Eclipse可执行文件来启动"工作台"。在 Windows 系统上,该可执行文件称为 eclipse.exe,而在 Linux系统上称为eclipse。注意:下列讨论描述 Windows 系统上的设置。Linux 上的设置是相似的。

  如果您没有另行指定,则平台将缺省工作区目录创建为可执行文件的兄弟目录(例如c:\eclipse\workspace)。此工作区目录用作项目的缺省内容区,还用于保存任何必需的元数据。要进行共享安装或多工作区安装,应明确指出工作区的位置而不是使用缺省值。有两种控制工作区位置的方法:使用当前工作目录或使用-data命令行自变量。

  将工作区位置设置为在当前工作目录内

  在此方案中,工作区位置将是当前工作目录中称为 workspace 的目录。

  实现此目的最容易的方法可能是使用下列步骤来创建快捷方式:

  导航到 Windows 资源管理器中的 eclipse.exe 并使用右键拖动来创建 eclipse.exe 的快捷方式。

  编辑快捷方式的属性,以使启动位置:字段标识工作区位置的父目录(例如,c:\users\robert)。

  关闭属性对话框并双击快捷方式(如果提供的目录为c:\users\robert,则工作区位置将为c:\users\robert\workspace)。

  当然,您也可以使用命令提示符(通过将目录切换为工作区父目录然后运行 Eclipse.exe)来获得同样的效果。

  使用 -data 设置工作区的特定位置

  要使用 -data 命令行自变量,只要将 -datayour_workspace_location(例如,-datac:\users\robert\myworkspace)添加至快捷方式属性中的目标字段或显式地将它包括在命令行上。

  使用 -vm 设置 java VM

  建议显式指定在运行 Eclipse 时要使用哪个 Java VM。使用 -vm 命令行自变量(例如,-vmc:\jre\bin\javaw.exe)可以实现此目的。如果不使用 -vm,则 Eclipse 将使用在 O/S 路径上找到的一个JavaVM。当安装其它产品时,它们可更改您的路径,导致在下一次启动 Eclipse 时使用另一 Java VM。

  运行 Eclipse

  中的高级主题

  Eclipse 可执行文件及平台本身提供了人们感兴趣的开发或调试 Eclipse 各部件的许多执行选项。运行Eclipse可执行文件的一般格式是:

  eclipse [platform options] [-vmargs [Java VM arguments]]

  Eclipse 启动参数 命令 描述 原因

  -arch architecture

  定义 Eclipse 平台在其上运行的处理器体系结构。Eclipse 平台通常使用 Javaos.arch属性的常用值来计算最佳设置。如果在此处指定该项,则这是 Eclipse平台使用的值。此处指定的值可作为BootLoader.getOSArch() 用于插件。示例值有:"x86"、"sparc"、"PA-RISC"和"ppc"。2.0

  -application applicationId

  要运行的应用程序。应用程序由向org.eclipse.core.runtime.applications扩展点提供扩展的插件来声明。通常不需要此自变量。如果指定了此项,则该值会覆盖配置提供的值。如果不指定此项,则会运行"Eclipse工作台"。1.0

  -boot bootJarURL

  (建议不使用;用 -configuration 代替;支持 1.0兼容)。Eclipse平台的引导插件代码(boot.jar)的位置,表示为 URL。如果指定此项,则会用它来为装入Eclipse平台引导程序类装入器的类装入器设置类路径。仅当更改 startup.jar 和boot.jar的相对位置时才需要它。注意,不允许使用相对 URL。 *1.0

  -classloaderproperties [file]

  如果指定的话,则使用给定位置处的类装入器属性文件来激活平台类类装入器增强。文件自变量可以是文件路径或URL。注意,不允许使用相对URL。单击此处以获得更多详细信息。 2.0.2

  -configuration configurationFileURL

  Eclipse 平台配置文件的位置,表示为 URL。配置文件确定Eclipse平台、可用插件集和主要功能部件的位置。注意,不允许使用相对 URL。当安装或更新 Eclipse平台时配置文件被写至此位置。2.0

  -consolelog

  将 Eclipse 平台的错误日志镜像到用来运行 Eclipse 的控制台。与 -debug 组合时很方便使用。 1.0

  -data workspacePath

  要运行 Eclipse 平台的工作区的路径。工作区位置也是项目的缺省位置。相对于从中启动 eclipse的目录来解释相对路径。1.0

  -debug [optionsFile]

  将平台置于调试方式,并从给定位置处的文件装入调试选项(如果指定的话)。此文件指示哪些调试点可用于插件以及是否已启用它们。如果未给出文件位置,则平台在启动eclipse的目录中查找称为".options"的文件。URL 和文件系统路径都可作为文件位置。 1.0

  -dev [classpathEntries]

  将平台置于开发方式。将可选类路径条目(用逗号分隔的列表)添加至每个插件的运行时类路径。例如,当工作区包含要开发的插件时,指定-devbin 会为每个插件项目的名为 bin的目录添加类路径条目,允许在其中存储最新生成的类文件。除去了冗余或不存在的类路径条目。1.0

  -endsplash ms

  用于在 Eclipse 平台启动并运行时关闭闪屏的内部选项。此选项在闪屏处理链中不同的位置有不同的语法和语义。 2.0

  -feature featureId

  主要功能部件的标识。主要功能部件为 Eclipse 的已启动实例提供了产品个性,并确定使用的产品定制信息。 2.0

  -keyring keyringFilePath

  磁盘上授权数据库(或"密钥环"文件)的位置。此自变量必须与 -password 选项配合使用。相对于从中启动eclipse的目录来解释相对路径。 1.0

  -nl locale

  定义 Eclipse 平台在其上运行的语言环境的名称。Eclipse平台通常自动计算最佳设置。如果在此处指定该项,则这是Eclipse 平台使用的值。此处指定的值可作为BootLoader.getNL()用于插件。示例值有:"en_US"和"fr_FR_EURO"。 2.0

  -nolazyregistrycacheloading

  取消激活装入优化的平台插件注册表高速缓存。缺省情况下,仅当需要时才从注册表高速缓存(可用时)中装入扩展的配置元素,以减少内存占用。此选项将在启动时强制完全装入注册表高速缓存。2.1

  -noregistrycache

  绕过读写内部插件注册表高速缓存文件。 2.0

  -nosplash

  运行平台而不显示闪屏。 1.0

  -os operatingSystem

  定义 Eclipse 平台在其上运行的操作系统。Eclipse 平台通常使用 Javaos.name属性的常用值来计算最佳设置。如果在此处指定该项,则这是 Eclipse平台使用的值。此处指定的值可作为BootLoader.getOS() 用于插件,并用于解析插件清单文件中提及的路径中$os$变量的出现。示例值有:"win32"、"linux"、"hpux"、"solaris"和"aix"。 1.0

  -password password

  授权数据库的密码。与 -keyring 选项配合使用。 1.0

  -perspective perspectiveId

  启动时要在活动工作台窗口中打开的透视图。如果没有指定该参数,则将打开关闭时活动的透视图。 1.0

  -plugincustomization propertiesFile

  包含插件首选项缺省设置的属性文件的位置。这些缺省设置覆盖在主要功能部件中指定的缺省设置。相对于从中启动eclipse的目录来解释相对路径。 2.0

  -plugins pluginsFileURL

  (建议不使用;用 -configuration 代替;支持 1.0 兼容)。 指定 Eclipse平台查找插件的文件的位置,表示为URL。该文件为属性文件格式,其中键是任意用户定义名称,值是指向plugin.xml文件的显式路径或指向包含插件的目录的路径的用逗号分隔的列表。注意,不允许使用相对URL。如果指定此项,则此选项会导致创建适当的临时配置。*1.0

  -refresh

  启动时执行工作区的全局刷新的选项。这将使从上次平台运行以来在文件系统中所做的任何更改一致。 1.0

  -showlocation

  用于在窗口标题栏中显示工作区的位置的选项。在发行版 2.0 中,此选项仅与 -data 命令行自变量一起使用。 2.0

  -showsplash ms

  用于显示闪屏(由可执行的 Eclipse平台启动器执行)的内部选项。此选项在闪屏处理链中不同的位置有不同的语法和语义。2.0

  -vm vmPath

  要用来运行 Eclipse 平台的"Java 运行时环境"(JRE)的位置。如果不指定此项,则 JRE 位于jre(它是Eclipse 可执行文件的兄弟目录)。相对于从中启动 eclipse 的目录来解释相对路径。 1.0

  -ws windowSystem

  定义 Eclipse 平台在其上运行的 Windows 系统。Eclipse 平台通常使用 Javaos.name属性的常用值来计算最佳设置。如果在此处指定该项,则这是 Eclipse平台使用的值。此处指定的值可作为BootLoader.getWS() 用于插件、用于配置 SWT以及用于解析插件清单文件中提及的路径中 $ws$变量的出现。示例值有:"win32"、"motif"和"gtk"。 1.0

  将 -vmargs 条目后面的所有自变量(但不包括-vmargs)作为虚拟机自变量(即,在要运行的类的前面)直接传递到所指示的Java VM。注意:如果 Eclipse 启动在Java vm 自变量(-vmargs)之后提供的自变量(例如,-data),则Eclipse 将不会启动并且您将接收到"JVM已终止。出口代码为 1"的错误。

  在不同的 VM 上运行

  在 J9 上运行 Eclipse

  当在 J9 版本 1.5 上运行 Eclipse 时,建议使用以下 VM 选项:

  eclipse.exe [eclipse arguments] -vm path_to_j9w.exe -vmargs-ms:32-mm:2048 -mo:32768 -moi:32768 -mca:32 -mco:128-mx:2000000

  当在 J9 版本 2.0 上运行 Eclipse 时,J9W 选择的缺省自变量应为合适的选项。但是,要覆盖Eclipse可执行文件以内部方式自动设置的参数,必须指定 -vmargs 不带任何参数,如下所示:

  eclipse.exe [eclipse arguments] -vm path_to_j9w.exe -vmargs

  有关进一步信息,参考 J9 VM 文档和帮助。

  在 IBM Developer Kit, Java(TM) Technology Edition VM上运行Eclipse

  IBM Developer Kit, Java(TM) Technology Edition 1.3 Linux 的缺省VM设置适合进行初期研究工作,但在进行大型开发时是不够的。对于大型开发,应修改 VM 自变量以使有更多的堆可用。

 

eclipse 启动非常慢,启动后运行也很慢的解决方法:

你去找eclipse的安装目录,里面有个Eclipse_Home文件夹,

它下面有一个eclipse.ini文件可以调整Eclipse最大使用内存,

当给它的使用的内存稍稍变大后可提高eclipse的启动和运行速度。

eclipse.ini文件默认如下:
-vmargs
-Xms40m
-Xmx256m

调整为:
-vmargs
-Xms40m
-Xmx256m
-XX:PermSize=64M
-XX:MaxPermSize=128M

1G内存推荐为:
-vmargs
-Xms128M
-Xmx512M
-XX:PermSize=64M
-XX:MaxPermSize=128M

回答人的补充   2009-10-19 21:44

.

我看你的配置,内存有2G啊,那你就再给eclipse配大些,

-vmargs
-Xms128M
-Xmx768M
-XX:PermSize=64M
-XX:MaxPermSize=512M

你可能感兴趣的:(eclipse,linux,工作,虚拟机,MyEclipse)