【问题标题】:Eclipse: High CPU Usage during AutocompleteEclipse:自动完成期间 CPU 使用率高
【发布时间】:2011-05-07 13:48:28
【问题描述】:

我已经使用 Eclipse 几个星期了(我的意思是,除了平常之外)没有问题。对于我的目的来说,它已经足够快了。但截至今天中午,每当我开始输入 HTML 标签或其他可自动完成的元素时,我的整个系统都会陷入如此多的困境,完全无法使用。在任务管理器中观察,每次我输入“”符号时,Eclipse 都会从 0 跳到 10-15%!

我有一台配备 6 GB RAM 的 Core i7 PC,所以这绝对不是系统规格限制。我还卸载了我今天安装的几个程序,希望其中一个程序有冲突,但没有骰子。即使重新启动后,每次尝试自动完成时,如果不暂停几秒钟,我也无法使用 Eclipse!

有人知道这里发生了什么吗?我进行了一些搜索,但我发现的都是非常古老的错误报告,这些报告说开发人员“已经意识到这个问题并正在研究解决方案”。

【问题讨论】:

  • eclipse VM的系统规格怎么样?它们位于 eclipse 文件夹的 eclipse.ini 文件中。

标签: eclipse performance autocomplete


【解决方案1】:

首先,作为一个测试,尝试切换到一个新的工作区(文件→切换工作区→指定一个不存在的文件夹,它将被创建)。

如果问题得到解决,这可能是您当前工作区中的一些错误设置或缓存问题。如果您可以轻松移动到这个新工作区(不知道您在自定义工作区方面付出了多少努力),我会这样做。

如果要修复当前工作区,请进入工作区的.metadata/.plugins 文件夹,并查找以org.eclipse.wst 开头的文件夹。我会尝试将它们取出,看看是否有帮助(先关闭 Eclipse)。在此过程中,您可能会丢失大部分历史记录和缓存。您可以专门检查文件夹并智能地猜测应该保留的内容。

如果问题不能通过更改工作区来解决,我会尝试下载新的 Eclipse 副本。您可以尝试重置配置文件夹,但这有点冒险。如果太麻烦,我会重新开始。

【讨论】:

  • 这是一个非常好的主意,但我什至尝试下载新的 Eclipse 副本并使用新的工作区,但无济于事。似乎每次我想打开或关闭 HTML 标签时,我注定要失去 5-20 秒。我一直在寻找 PDT 的替代品,但到目前为止,没有什么能满足我的需求。
  • 你没有提到你使用 PDT。看看我对这个问题的回答:stackoverflow.com/questions/4041156/…
【解决方案2】:

首先,我会尝试增加 eclipse 分配给它的内存:

-vmargs
-Xms2048m
-Xmx3072m
-XX:MaxPermSize 128m

这应该在您的 eclipse.ini 文件中。就内存和 Eclipse 而言,This blog 有一些很好的读物。如果您需要更多信息和/或希望诱导睡眠,您也可以阅读this lengthy SO thread

接下来,尝试加快自动完成速度。转到 Window / Preferences / Java / Editor / Content Assist / Auto-Activation 并将自动激活延迟从 500 减少到零。

最后,你可以看看嬉皮士的完整; Eclipse 中的默认键绑定是 'alt-/' 。如果您查看快捷方式列表 'ctr-shft-l' (即列表中的 L ),这也称为“单词完成”。在我的 Mac 上,默认键设置是 'ctr-.' 。这是一个更快的自动完成版本,我相信它可以追溯到emacs 的时代。它似乎适用于局部变量,但不适用于对象上的函数。我猜是不同的野兽。

作为奖励,您可以查看here,了解总体上加快 Eclipse 体验的方法列表。

【讨论】:

  • @zvikico:我不确定该链接与 Eclipse 或 .ini 设置中的内存使用有什么关系;它似乎是一系列使用 SWT-JFace 构建对话框的示例。
  • @Stephano:我对您的建议的唯一担心是,直到昨天中午,一切都在顺利进行。我真的不想更改设置,我宁愿弄清楚发生了什么(或者至少找到一个不错的灵丹妙药)并解决这个新问题。
  • 抱歉链接错误。我仍然认为它的RAM太多了。你最终只会到处交换:-)
  • @Brain 这是一个有效的担忧。我在使用 Windows 时遇到的最大问题之一是我无法找到慢慢超过操作系统的“污泥”。似乎我全新安装的 XP 非常棒,而且当我使用这台机器时,它会以蜗牛般的速度运转。祝你好运找到问题。如果一切都失败了,请尝试其中的一些提示;他们可能会成功。
  • 我增加了在 eclipse.ini 中分配的内存——没有你建议的那么多,但足以让我确定这不是问题的原因。它并没有解决突然的延迟和 CPU 峰值。不过,它似乎确实有助于它恢复得更快一些,这总比没有好。
猜你喜欢
  • 2013-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-09
  • 1970-01-01
相关资源
最近更新 更多