Eclipse 3.5(和更高版本)切换选项卡非常慢

Posted

技术标签:

【中文标题】Eclipse 3.5(和更高版本)切换选项卡非常慢【英文标题】:Eclipse 3.5 (and newer) switching tab is very slow 【发布时间】:2010-11-06 00:32:12 【问题描述】:

我在带有 Java 1.5.0.19 的 Macos 10.5 上使用 eclipse 3.5(可可构建)。

我只打开了 3 个 java 文件 1 个文件 ~ 2000 行 其他 2 个是 ~ 700 行。

但是当我从一个文件选项卡切换到另一个选项卡时,eclipse 需要很长时间(约 20 秒)才能切换到另一个选项卡。

我已经把eclipse.ini改成

more eclipse.ini
-startup
../../../plugins/org.eclipse.equinox.launcher_1.0.200.v20090520.jar
--launcher.library
../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx_1.0.0.v20090519
-product
org.eclipse.epp.package.jee.product
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vmargs
-Dosgi.requiredJavaVersion=1.5
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-XX:MaxPermSize=512m
-Xms128m
-Xmx1024m
-Xdock:icon=../Resources/Eclipse.icns
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts

有什么方法可以让 eclipse 3.5 更快?

谢谢。

【问题讨论】:

【参考方案1】:

Eclipse Neon(仅限 4.6.2?)中使用 Dark 主题重新出现了选项卡之间切换缓慢的原始问题。

解决方案:在e4-dark_win.css(文件底部)中禁用主题滚动条 StyledText swt-scrollbar-themed: false; [...]

【讨论】:

这个文件在哪里?【参考方案2】:

TL;错误线程的DR:

http://wiki.eclipse.org/Platform_UI/Juno_Performance_Investigation#Resolution

为我工作。

【讨论】:

【参考方案3】:

对我来说,问题是 SVNKit 连接集成到 Juno 版本的 Eclipse。我正在使用 Eclipse 的 Juno 版本进行 android 开发,当我打开 SVNKit Team Integration 时,我遇到了以下问题:

    在 Eclipse IDE 中的代码文件之间切换非常慢。 工具栏中的打印图标和 Android SDK 管理器图标之间的间隙和空间过大。

对我来说...我在“视图设置”下的“窗口”->“首选项”->“团队”->“SVN”下关闭了以下设置...有一个“以增量方式显示同步信息”的设置...我将其关闭并且文件之间的切换得到了改善....但与未连接 SVN 相比仍然存在延迟。

没有连接SVN...文件之间的切换是正常的。

我在 Eclipse.ini 中有 Java 1.6 我没有更改内存设置。

【讨论】:

【参考方案4】:

现在 Juno 有补丁可以开始解决这个问题。有关如何更新安装的信息,请参阅comment #212 on bug 385272。如果您稍等片刻,您应该会在 2012 年 12 月 21 日的 Kepler 里程碑中找到这些修复。

(我相信此处发布的其他建议,例如增加内存或调整各种启动参数或首选项可能会对性能产生一些积极影响,但根本问题是线程运行异常,如错误报告中所述。)

【讨论】:

现在可用,这个:wiki.eclipse.org/Platform_UI/Juno_Performance_Investigation【参考方案5】:

我知道这对游戏来说有点晚了,但我发现将权限更改为 ~workspace.metadata.plugins\org.eclipse.e4.workbench 以拒绝自己访问停止了减速问题。

似乎 Eclipse (4.2.0) 经常写出一个损坏的设置文件,当它在启动时再次加载时,它会减慢一切,因为它会不断地在内部抛出错误。更改该目录的安全性以使 Eclipse 无法写入它是一种“修复”!这确实意味着每次启动 Eclipse 时都会恢复到默认设置,但如果速度更重要,我认为这是值得的牺牲。

【讨论】:

【参考方案6】:

增加 eclipse.ini 中的内存限制似乎已经为我解决了这个问题 - 但不确定它是否会保持不变

发件人:

-vmargs
-Xms40m
-Xmx512m

-vmargs
-XX:MaxPermSize=512m
-Xms256m
-Xmx784m

另外 - 如果您来自 aptana3 并导入了您的项目 - 您需要这样做

    单击项目属性 转到“建设者” 确保没有“缺少的构建器”如果有,请取消选中它们 - 我在导入项目时从 aptana 中剩下两个(com.aptana.ide.core.unifiedBuilder 和 com.aptana.editor.php。 aptanaPhpBuilder)

---- 更新----

它已修复 - 但不是出于我认为的原因。我的 SVN 不再被 eclipse 识别。 当我点击“与团队共享”并重新连接时,选项卡切换问题再次出现。我将尝试找出这是否是 svnKit 与 JavaHL 的问题 - 我不确定哪个我这次设置 Eclipse 时选择的连接器。

如果您想确认这是您尝试从 SVN 断开连接(Team->disconnect)并重新启动 eclipse 的问题

【讨论】:

顺便说一句 - 我在一个非常大的代码库上工作 - 这可能与需要更高的内存限制有关 - 在我让代码辅助工作之前我没有遇到问题(也许持有所有我在内存中的函数和类名导致它过早交换内存限制?)【参考方案7】:

这个 Eclipse 错误报告与您描述的行为非常吻合。 (我在功能强大的 XP 机器上使用新的 Juno 安装时也有同样的经历。)

https://bugs.eclipse.org/bugs/show_bug.cgi?id=385272

错误报告中最有用的部分是comment 29,它建议创建一个新工作区。最简单的方法是:

1) 退出日食

2) 重命名 .../path/to/workspace/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi (例如,附加“.old”)

3) 启动eclipse

我相信将 -Dosgi.requiredJavaVersion=1.5 更改为 1.6 可能只是偶然地有所帮助,如果有的话。

【讨论】:

我不相信第 2 步有帮助。我再次遇到了这个问题,只需重新启动 eclipse 就可以了。我可能不得不恢复到以前的日食。 你现在,我认为你在 1.5 -> 1.6 上是对的。部分问题在于,这种缓慢(有时)是在使用一段时间后出现的,所以人们做了一些“巫毒伎俩”并立即欢呼,但使用一段时间后发现它并没有长期奏效。 (使用 4.2.1 仍在发生。)【参考方案8】:

我现在可以或多或少地确认问题出在 Eclipse 3.5 上。

我在功能更强大的 Mac、27" 核心 I7、2.93Ghz 和 8GB 内存和运行 OS X 10.6.4 的 SSD 上运行 Eclipse。最初,这非常流畅和快速, 但是经过十几个小时左右的运行时间后, Eclipse 突然又开始变慢了。我在后台几乎没有运行任何东西。只有 Eclipse (32 位, 给它 1.5GB 内存), JBoss AS 和野生动物园。

一个简单的选项卡切换需要几秒钟,同时我注意到一个核心上的 CPU 负载达到 100%。切换视角和其他各种操作也是如此。

当我只重新启动 Eclipse 时,一切又变得非常快了。这种情况发生了几次。

【讨论】:

【参考方案9】:

切换到 1.6 确实很有帮助。 这是为 mac 定位 eclipse.ini 文件的链接 http://wiki.eclipse.org/Eclipse.ini

【讨论】:

【参考方案10】:

我在相当低端的机器上使用 OS X 10.5.7 和 Eclipse 3.5.2 时遇到了同样的问题(2006 年初 iMac,1.5GB)。然而,在我启动我的机器之后,一切都非常活泼。我什至可以启动 JBoss AS 并且仍然没有减速。我在活动监视器中监视“已使用交换”,它保持在 0 字节交换已使用。

然后,我启动其他东西,例如 iTunes 和邮件或切换到另一个帐户。

然后事情变得缓慢,这是意料之中的,我看到“使用的交换”增加了。 Eclipse 会慢下来,几乎不可能使用它。

然后我注销了另一个账号,关闭了我打开的所有其他应用程序,所以我的机器状态基本上又回到了仍然快速时的状态。但是......它保持狗慢!即使我关闭了所有其他应用程序,活动监视器中的“已使用交换”也只会减少一点(从 ~1.2GB 到 ~700MB)。只需在 2 个非常简单的 Java 文件之间切换选项卡就需要 20 秒,同时我在活动监视器中看到 CPU 使用率高达 100%。

这里肯定发生了一些奇怪的事情。这似乎不是正常行为。当我需要太多资源时,就好像 Mac OS X 进入“慢速模式”,但当资源再次出现时,它就无法恢复。

非常烦人!

如果我重置机器并再次打开完全相同的工作集(打开相同的 2 个文件的 Eclipse,JBoss AS 以调试模式启动,Safari 有 1 个窗口)一切都很快了。

【讨论】:

【参考方案11】:

这可能是提到的错误。 https://bugs.eclipse.org/bugs/show_bug.cgi?id=282229

【讨论】:

【参考方案12】:

我在 eclipse.ini 文件中切换了这一行(在 eclipse 应用程序包中找到):

-Dosgi.requiredJavaVersion=1.5

-Dosgi.requiredJavaVersion=1.6

标签切换又变快了。

【讨论】:

我的 eclipse.ini 中没有 requiredJavaVersion 行,但将它添加到 1.6 也解决了我的问题 非常感谢 :-) 使用缓慢的标签开始变得非常糟糕! 这并没有解决我的问题。我认为这是一个日食错误(385272)。我在下面发布了更多详细信息。 我认为重新启动 Eclipse 对我有帮助。将版本重置为 1.5 并再次重新启动后,它仍然比最初更快。不过,这可能会有所帮助:转到“窗口->首选项->常规->外观”,然后将外观更改为“经典”并取消选中动画 无论我做什么,切换标签仍然需要 250 毫秒。【参考方案13】:

使用 32 位 Cocoa 版本。 64位不会帮助恕我直言。它在我的 2.4 GHz MBP 上真的很有效。我通常打开大约 30 个文件,其中一些相当大,从未经历过您所描述的情况。

尝试获取一个新的普通 32 位 Cocoa 发行版,不要修改任何内容并检查是否存在问题。它也可能是一个流氓插件。有安装吗?

检查你的堆状态。打开 Eclipse 首选项,在第一个首选项页面中有一个“显示堆状态”选项。您可能内存不足。使用活动监视器检查机器的交换状态 - 如果它交换很多,我建议关闭其他应用程序。一般来说,我建议开发机器使用 4 GB RAM。

【讨论】:

谢谢!我认为 x86_64 构建会更快,但 32 位(可可)要快得多。结合 Mike Miller 的建议,我将 Mac 上的 Eclipse 从可以忍受变成了令人愉悦(在 '10 MBP 上使用 Helios)。【参考方案14】:

这是一个已知问题。 由于您使用的是JDK1.5,您可以尝试使用Carbon变体。

【讨论】:

我认为 Cocoa 是比 Carbon 更好的版本?是否有适用于 MacOS X 的 Java 6 JDK?如果是的话,你能告诉我在哪里可以找到它吗? Cacoa 中的 Eclipse 是新的 -- 仍然有些错误。 Mac 中的 JDK 6 仅 64 位,请参阅 support.apple.com/downloads/Java_for_Mac_OS_X_10_5_Update_4 这是一个已知问题?知道给谁?获取 Cocoa 的最终 Galileo 版本。它比以前(或将来)的 Carbon 实现更少错误。 zvikico:在google上搜索,早在3.5M3就知道了……还有,怎么3.5不是最终的伽利略?

以上是关于Eclipse 3.5(和更高版本)切换选项卡非常慢的主要内容,如果未能解决你的问题,请参考以下文章

WinUI 3 - Project Reunion 0.8(和更高版本的 Windows App SDK)部署选项,如“XCOPY”(?)

如何在同一版本中使用更低和更高的 API 调用? [复制]

从 VID/PID 中查找 USB 驱动器号(XP 和更高版本需要)

iOS 8 及更高版本中的更多选项卡图标颜色

Visual Studio 2013 及更高版本的 Windows 菜单中缺少新的垂直选项卡组?

如何在 Eclipse 3.4.X 或更高版本中卸载插件