针对 Eclipse PDT 或 PyDev 进行优化时,哪个更有用 - launcher.XXMaxPermSize 或 Xms,Xmx?

发布于 2024-12-06 05:50:42 字数 1030 浏览 0 评论 0原文

我将 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

I use Eclipse with PDT. Most optimization solutions mention increasing the Xms and Xmx values to enable Eclipse to handle more Java objects. I am curious about XXMaxPermSize. Increasing its value increased the memory the java process used.

For a non-Java IDE usage, which of these three (or all three) should be increased? My eclipse.ini file contents are as below:

-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

Update: The following is the updated eclipse.ini I am using.

-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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

墨洒年华 2024-12-13 05:50:42

对于 PDT 或其他非 Java 开发,只要 Eclipse 本身运行良好(也许不管这一点),这些变量的大小应该在很大程度上无关紧要。

来自 ini 文档页面

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

这篇 博客文章 也很有帮助,特别提到 Xms Xmx 与 PermGen 空间是分开的,语法要求 args 必须位于单独的行上(如上面所示),并且:

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

最后,此页面提到了如果设置太低:

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

For PDT or other non-Java development the size of these variables should be largely irrelevant as long as Eclipse itself is running fine (maybe regardless of that).

From the ini documentation page:

--launcher.XXMaxPermSize (Executable) If specified, and the executable detects that the VM being used is a Sun VM, then the
launcher will automatically add the -XX:MaxPermSize= vm
argument. The executable is not capable of detecting Sun VMs on all
platforms.

This blog post is also helpful, specifically mentioning the Xms Xmx are separate from PermGen space, the syntax requirement that args must be on separate lines (as you have above), and:

The best way to know if your command line arguments actually has been
passed in correctly is to go to Help/About [Product Name] and click
“Configuration Details” and check that the property “eclipse.vmargs”
contain the values you expected.

Finally, this page mentions which errors might be seen if the settings are too low:

1) Java.lang.OutOfMemoryError: Java heap space (The Xmx variable)
2) Java.lang.OutOfMemoryError: PermGen space (The XXMaxPermSize variable)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文