【问题标题】:Eclipse Indigo typing lag on OS X LionOS X Lion 上的 Eclipse Indigo 打字滞后
【发布时间】:2012-02-22 00:16:36
【问题描述】:

我正在从事一个相当大的项目,最近遇到了我 90 年代的好老朋友,打字滞后。 我的设置是配备 SSD 驱动器的 MacBook Pro 2.2 GHz i7 8GB,到目前为止还没有出现任何严重的性能问题。

我已将内存分配增加到 -Xmx1024m 和 -XX:MaxPermSize=512m。没有大量使用涉及的插件。此外,这只发生在默认编辑器中的 .java 文件上。

可能是什么问题?

编辑:
我发现了问题。我注意到该问题仅在编辑大型 java 文件时发生。在我的例子中,这个类有 1800 行。

这很奇怪,因为我在 Ubuntu 上使用相同的 eclipse 设置并没有遇到同样的问题。 Mac 上的 Eclipse 似乎无法处理我正在编辑的那么大的 java 文件。

有什么建议吗?

EDIT2:

我正在使用带有最新更新 (3.7.1.X) 的 Eclipse Indigo for Java EE

已安装的插件:

  • m2eclipse
  • MercurialEclipse 又名 HGE(来自 the official eclipse update site 的 1.9.1)
  • Subclipse(已安装,但未在出现打字延迟的工作区中使用)
  • ADT(已安装,但未在本项目中使用)

除非另有说明,否则所有插件均通过 Eclipse 市场安装并更新到最新版本。

【问题讨论】:

  • 您是否启用了“显示空白字符”或“显示行号”?我在 Lion(但不是早期版本的 OS X)上看到了一些关于这种行为的报告,例如 bugs.eclipse.org/bugs/show_bug.cgi?id=366473
  • 我启用了行号。禁用它们没有帮助。不过谢谢!
  • 我也有过同样的经历。一旦打开了很多编辑器选项卡,Eclipse 也会异常缓慢。好消息是它在每个版本中都在不断改进。
  • @EdwardThomson 您说得对,打开许多编辑器选项卡可能会减慢 Eclipse。但是,在我的情况下,打开标签的数量与迟缓无关。这和我只打开那个标签还是打开 50 个标签一样糟糕——打开 50 个标签后,较小的文件不会受到打字延迟的影响。
  • @Kimi:啊,是的,对不起,我的投诉是独立的。 :)

标签: java eclipse macos memory-management


【解决方案1】:

尝试更改 eclipse.ini 文件中的设置。这包含 JVM 的设置,可以帮助减少此类内存问题。

eclipse.ini 示例:

-data
../../workspace
-showlocation
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
384m
-startup
plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-vm
../../../../program files/Java/jdk1.6.0_17/jre/bin/client/jvm.dll
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms128m
-Xmx384m
-Xss4m
-XX:PermSize=128m
-XX:MaxPermSize=384m
-XX:CompileThreshold=5
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-Dcom.sun.management.jmxremote
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=C:/jv/eclipse/mydropins

详见this questionthis question

【讨论】:

  • 我将 Windows 特定部分修改为 OS X 等效部分,但没有任何区别。不过,您对 eclipse.ini 文件中的问题是正确的。
【解决方案2】:

Jivings 关于问题的根源在 eclipse.ini 文件中是正确的。

我不确定在弄乱 eclipse.ini 之后我实际更改了什么,因为 TimeMachine 似乎无法在 Eclipse 应用程序包(Eclipse/目录/MacOS/eclipse.ini)。

我实际上降低了 MaxPermSize 和其他使 Eclipse 运行更流畅的内存值。如果其他人遇到同样的问题,我建议您尝试类似的值,看看是否有效。如果没有,我还读到您可以使用-clean 参数启动一次eclipse,它会清除一些安装和使用历史等。我没有这样做,但值得一试。

以下是我目前的配置,效果很好:

-startup
../../../plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.100.v20110502
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m
-Xdock:icon=../Resources/Eclipse.icns
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-02
    • 1970-01-01
    相关资源
    最近更新 更多