优化Eclipse PDT或PyDev时有什么用处 - launcher.XXMaxPermSize或Xms,Xmx?

时间:2011-09-23 04:24:19

标签: eclipse-pdt

我将Eclipse与PDT结合使用。大多数优化解决方案都提到增加XmsXmx值以使Eclipse能够处理更多Java对象。我对XXMaxPermSize感到好奇。增加它的值会增加java进程使用的内存。

对于非Java IDE用法,应该增加这三个(或全部三个)中的哪一个?我的eclipse.ini文件内容如下:

-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.100.v20110505
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Xms512m
-Xmx1024m
-XX:+UseParallelGC

更新:以下是我正在使用的更新的eclipse.ini。

-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.100.v20110505
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vm
/usr/lib/jvm/java-6-openjdk/jre/bin/java
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms512m
-Xmx1024m
-XX:MaxPermSize=256m
-XX:+UnlockExperimentalVMOptions
-XX:+UseG1GC

1 个答案:

答案 0 :(得分:0)

对于PDT或其他非Java开发,只要Eclipse本身运行正常(可能与此无关),这些变量的大小应该在很大程度上无关紧要。

来自ini documentation page

  

- launcher.XXMaxPermSize(Executable)如果已指定,并且可执行文件检测到正在使用的VM是Sun VM,则   启动器将自动添加-XX:MaxPermSize = vm   论点。可执行文件无法检测所有Sun VM   平台。

这个blog post也很有帮助,特别提到Xms Xmx与PermGen空间是分开的,args的语法要求必须在不同的行上(如上所述),并且:

  

了解命令行参数是否实际存在的最佳方法   传入正确的是转到帮助/关于[产品名称]并单击   “配置详细信息”并检查属性“eclipse.vmargs”   包含您期望的值。

最后,this page提到如果设置太低可能会出现哪些错误:

1) Java.lang.OutOfMemoryError: Java heap space (The Xmx variable)
2) Java.lang.OutOfMemoryError: PermGen space (The XXMaxPermSize variable)