你怎么能加速Eclipse?

时间:2008-11-25 03:18:57

标签: eclipse performance

如何更快地体验Eclipse的体验?

例如:我禁用了我不需要的所有插件(Mylyn,Subclipse,...)。

我没有使用Mercurial的插件,而是将TortoiseHG配置为外部工具。

43 个答案:

答案 0 :(得分:426)

Eclipse速度最有影响力的三个因素是:

  • 使用最新版本的Eclipse (2008年撰写时的3.4 Ganimede)
    请注意,David Balažiccomment(2014年7月)与六年前的标准相矛盾:
  

Indigo(3.7.2)中的“相同”工作区SR2在4秒内加载,在Kepler SR2(4.3.2)中加载7秒,在Luna(4.4.0)中加载10秒。所有都是Java EE捆绑包。较新的版本有更多的捆绑插件,但趋势仍然很明显。 (“相同”工作区我的意思是:使用相同(另外安装)的插件,从版本控制中检出相同的项目。)

  • 使用最新JDK 启动它(在编写本文时为1.7,这不会阻止您在Eclipse项目中使用您想要的任何其他JDK进行编译:1.4.2,1.5 ,1.6岁......)

    -vm jdk1.6.0_10\jre\bin\client\jvm.dll
    
  • 配置 eclipse.ini (请参阅this question for a complete eclipse.ini

    -Xms128m
    -Xmx384m
    -XX:MaxPermSize=128m _# NOTE: this option is obsolete in Java 8, it will be ignored_
    -Xss2m
    [...]
    

Xmx参数是Eclipse将获得的内存量(简单来说)。使用-Xmx384m,它获得384 MB的RAM,-Xmx4G获得4 GB等。


注意:

  1. 参考jvm.dll有优势:

    • 飞溅屏幕早早出现。
    • 进程列表中的Eclipse.exe而不是java.exe。
    • 防火墙:Eclipse希望访问Internet而不是Java。
    • 窗口管理品牌问题,尤其是在Windows和Mac上。

    但如果你try to push the memory too high,它也会有一些缺点。

  2. Eclipse采用的默认内存是combination of MaxPermSize and Xmx。这里最多 512 MB,这对于1 GB内存计算机来说足够了。

答案 1 :(得分:256)

-Xverify:none添加到 eclipse.ini 文件中。

它会大大减少你的Eclipse启动时间(如果不是更多,我的情况下会减少50%)。这将告诉VM不要验证它正在加载的所有.class文件。

答案 2 :(得分:120)

转到 Windows - > 偏好设置 - > 验证并取消选中您不想要或不需要的任何validators

对于Eclipse 3.7,您使用 Windows - > 偏好设置 - > 一般 - > 启动和关闭

答案 3 :(得分:87)

确保您使用Sun JVM来运行Eclipse。

在Linux上,特别是Ubuntu,Eclipse默认安装使用开源GCJ,它的性能极差。使用update-alternatives --config java切换到Sun JVM以大大提高Eclipse中的UI快捷性。

答案 4 :(得分:50)

关闭所有当前未使用的已打开项目。

尝试在开发过程中关闭自动发布模式。

答案 5 :(得分:48)

感谢您的提示。 这些选项(如上所述)对我帮助很大:

Windows:

增加记忆力&关于我在eclipse.ini中更新的Java版本:

-Dosgi.requiredJavaVersion=1.6
-Xms256m
-Xmx512m
-XX:PermSize=512m
-XX:MaxPermSize=512M
-Xverify:none

Linux / Ubuntu:

使用

update-alternatives --config java

答案 6 :(得分:45)

通过禁用标签装饰可以获得另一个性能提升 (Windows -> Preferences; General -> Appearance -> Label Decorations) 并通过在启动时禁用未使用的功能 (Windows -> Preferences; General -> Startup and Shutdown)。

根据您的JVM,您可以通过选择不同的垃圾收集策略来获得额外的性能。

如果您厌倦了重启周期,可以使用ZeroTurnaround中的JavaRebel。这将缩短您在服务器/客户端重新启动上花费的时间。

答案 7 :(得分:40)

虽然与Eclipse没有直接关系:

如果您运行的是Windows 7(可能是Windows Vista),请务必禁用工作区文件夹的文件索引(如果您的内容位于默认位置 - 您的主文件夹)。 Windows默认情况下会对您主文件夹中的所有内容编制索引,这通常只会浪费您的工作区。 (右键单击资源管理器中的工作区文件夹,属性 - > 高级。)

答案 8 :(得分:31)

答案 9 :(得分:28)

Eclipse懒洋洋地加载插件,以及最常见的插件, 如Subclipse,如果不使用它们,请不要做任何事情。 它们在运行期间根本不会降低Eclipse的速度 不会帮助你禁用它们。事实上,Mylyn被证明了 正确使用时减少Eclipse的内存占用。

我使用大量插件运行Eclipse而没有任何性能 罚款。

  • 尝试禁用您可能没有的编译器设置 需要(例如,“参数永远不会被读取”下的子选项。
  • 您使用的是哪个版本的Eclipse?旧版本 众所周知,如果你反复升级它们会很慢 再次,因为他们的插件文件夹膨胀了 带有重复的插件(具有不同的版本)。这个 在版本3.4中不是问题。
  • 使用工作集。他们比关闭项目更好, 特别是如果你需要在两组之间切换 一直都是项目。

使用-Xmx不仅需要增加内存 切换,它也是perm gen size。我觉得 问题在Eclipse 3.4中解决了。

答案 10 :(得分:26)

还有另一件事在Windows和Linux上真正加速了Eclipse - 将JVM放入RAM磁盘。

对于Windows,您可以使用广告RAM disk driver from Qsoft

对于Linux,请使用Internet上众多文章中描述的任何方法。重要的是为RAM磁盘提供额外的空间,该空间比JVM的大小大10%。

检查出来。它确实有所作为。

答案 11 :(得分:20)

我给它大量的内存(在启动它的命令中添加-xMx whateverM开关)并尝试避免退出并重新启动它 - 我发现启动时出现最严重的延迟,所以给它大量的RAM让我在崩溃之前继续坚持下去。

答案 12 :(得分:20)

除了最新的软件(最新的Eclipse和Java)和更多的RAM,您可能还需要

  • 删除不需要的插件(并非所有插件都需要Mylyn和J2EE版本)
  • 不需要的验证者
  • 禁用拼写检查
  • 在Java编辑器中关闭未使用的选项卡(是的,它有助于减轻Eclipse负担)
  • 关闭未使用的项目
  • 禁用不需要的标签声明(SVN / CVS)
  • 禁用自动构建

reference:making-eclipse-ide-faster

答案 13 :(得分:14)

我也调整了vmargs和东西。但在Windows上真正加速Eclipse的是反病毒软件的“正确”配置。您必须禁用打包文件的按需扫描。 jar文件和许多与java相关的文件都用PKZIP算法打包以备用空间。因为Eclipse使用大量的java文件,所以防病毒会尝试单独解压缩并扫描每个文件。因此对于Windows平台:关闭打包文件的按需扫描,否则Eclipse将非常慢。请记住,禁用此功能不幸会使您的系统更容易受到攻击,大多数恶意软件会使用打包程序。

答案 14 :(得分:14)

我实现了一个插件来配置在运行时加载哪些功能,以提高性能并减少不同插件之间的冲突。

您可能已在Eclipse中安装了许多功能,例如Android开发工具,C / C ++开发工具,PHPSVNGitClearCase插件插件。因此Eclipse很重并且需要大量内存,而且其中一些并不经常使用。

因此,您可以使用我的工具创建不同的运行时策略,例如具有Android,Git和基本Eclipse的策略,另一个包含C / C ++,SVN和基本Eclipse。如果您使用的是仅包含Android和Git的策略,Eclipse下次只会加载指定的功能。

欢迎您尝试并给我反馈。 :)

该工具的名称为Equinox Advanced Configurator

答案 15 :(得分:13)

此帖子中的最佳做法是在Optimizer For Eclipse的免费ZeroTurnaround中实施的。

它有什么帮助?

  • 内存分配不足
  • 班级验证开销
  • 过多的索引和历史记录
  • 过时或慢速JDK
  • Eclipse已过期
  • 冗长的构建和重新部署时间

有关详细信息,请查看此article from RebelLabs

答案 16 :(得分:13)

在限制打开标签数量时,我的性能有了相当大的提升(过去我经常打开30多个标签)。您可以让Eclipse自动为您处理:

窗口 - > 偏好设置 - > 编辑 - >自动关闭编辑器

8个打开的标签是>>之前的金额标志出现,所以我倾向于将它留在8。

当打开更多标签时,最近访问过的标签将被关闭。

- >当所有编辑器都脏或固定时

如果有未保存的修改,您可以提示保存&重复使用(选项卡将关闭,将在其位置打开一个新选项卡)。或者你可以打开一个新的编辑器结束,从而增加打开标签的数量(不引人注目的选择)。

如果您想确保某些标签永远不会自动关闭,您可以固定它们。通过单击图钉图标(工具栏中最右侧的图标,使用“pin editor”作为tooltiptext)来实现此目的。

答案 17 :(得分:13)

努力配置构建路径。如果必须遍历整个项目文件夹,代码完成会占用大量内存。

  • 右键单击您的项目并选择首选项。
  • 选择构建路径设置并删除项目文件夹。
  • 然后只添加您拥有源代码和库代码的文件夹。

答案 18 :(得分:13)

不要被低估是拥有一台快速机器。 16-32 GB的RAM,SSD和一个不错的处理器......你去的地方是谁。

答案 19 :(得分:13)

另一个技巧是禁用自动构建。

答案 20 :(得分:7)

我已禁用Windows中所有未使用的选项>偏好>一般而且它对性能有巨大的积极影响,切换标签时eclipse仍然很慢,我不想增加内存,但滚动时速度要快得多。感谢你的提示。

答案 21 :(得分:6)

                       **Tips for making Eclipse IDE Faster**

在处理小项目时,Eclipse将运行得更快。但是当你必须处理大型项目时,你会对它的速度感到恼火。即使拥有巨大的内存,你也不会满意 速度。下面的步骤将有助于提高其速度

  1. 通过转到 windows-> preference-> General->启动和关闭,在启动时删除某些插件的不需要的激活 还要确保不要在任何视图中使用这些插件

  2. 禁用对您使用较少的标签装饰,也可以帮助您获得一些性能。转到 Windows->偏好设置 - >常规 - >外观 - >标签 - >装饰品

  3. 关闭不需要的项目并使用工作集选项从一组中移出 顺利投射到另一个。

  4. 4.Confugure eclipse.ini将在eclipse安装位置提供。

    配置eclipse.ini应该基于你的RAM    -Xms256m    -Xmx512m    -XX:PermSize =512米    -XX:MaxPermSize参数= 512M

    请查看http://wiki.eclipse.org/Eclipse.ini以获取更多选项 在配置eclipse.ini

    1. 不要在编辑器中打开很多标签页。最好有大约20个标签。定期关闭未使用的标签。要打开资源我们总是可以使用ctrl + shift + R和ctrl + shift + T(java资源)而不是打开很多标签 在限制打开标签的数量时,我的性能有了相当大的提升(过去我经常打开30多个标签)。您可以让eclipse自动为您处理: 的窗口 - >首选项> Editors->自动关闭编辑器 8个打开的标签是>>之前的金额。出现符号,所以我将14设置为我的默认值。 打开更多选项卡时,将关闭最近访问过的选项卡。当所有编辑器都脏或固定时。 如果它有未保存的修改,您可以提示保存&重复使用(选项卡将关闭,将在其位置打开一个新选项卡)。或者你可以打开一个新的编辑器端,从而增加打开标签的数量(不显眼的选择)。如果您想确保某些选项卡永远不会自动关闭,您可以固定它们。通过单击图钉图标(工具栏中最右侧的图标,使用“pin editor”作为tooltiptext)来实现此目的。

    2. 转到 Windows - >偏好 - >验证并取消选中任何 验证 你不想要或不需要。

    3. 转到 Windows - >偏好 - >一般 - >外观 - >并取消选中您不想要或不需要的任何动画

    4. 转到Windows - >偏好 - > Maven并检查不要自动更新依赖。

答案 22 :(得分:6)

试试这个,它会提高性能:

  

清理索引 - {workspace   路径} .metadata.plugins \ org.eclipse.jdt.core清理历史记录 -   {工作区   路径} .metadata.plugins \ org.eclipse.core.resources.history

清理上述文件夹不会影响项目文件。

答案 23 :(得分:5)

在Windows 8上。 打开控制面板。找到Windows Defender。前往设置 排除Spring / Eclipse和工作区所在的所有文件夹

答案 24 :(得分:5)

在特殊情况下,糟糕的性能可能是由于腐败的h2或nwire数据库造成的。请阅读 Five tips for speeding up Eclipse PDT and nWire 以获取更多信息。

在我工作的地方,我们依赖VM来运行Debian。我在VM上安装了另一个Eclipse版本来测试purpouses,但如果我运行其他Eclipse版本,这有时会产生冲突。两个Eclipse版本共享一个共享文件夹。我不小心让Debian Eclipse安装在后台运行一次,这给了我损坏的数据库文件。

答案 25 :(得分:5)

答案 26 :(得分:5)

好吧,如果您正在使用Eclipse开发GWT应用程序,那么就是这样:

Out of memory error in Eclipse

还要记住将相同的VM参数添加到托管模式配置。

答案 27 :(得分:4)

试试这些。有两种方式。

第一个程序

参考这篇文章。

http://www.javacodegeeks.com/2014/06/the-real-way-to-make-eclipse-run-faster-on-ubuntu.html

第二个程序。

在终端中执行命令。

ramdisk

为Ubuntu获得更好的性能和快速响应。

Ramdisk是系统内存的一部分。 Ubuntu默认使用一半的物理内存(RAM)作为ramdisk,它被挂载到

  

的/ dev / SHM

,它可以像普通的磁盘空间一样使用(创建文件和文件夹并以更好的性能操作它们,而不是将它们存储在硬盘上)。如果ramdisk使用超过一半的RAM,数据将被移动到交换空间。如果ramdisk使用较少,剩下的仍然可以做RAM正在做的事情。

设置ramdisk的上限

如上所述,默认情况下ramdisk可以使用一半的RAM。如果要更改上限,请按照以下步骤操作:

  1. 您喜欢的编辑器编辑/ etc / fstab:

    gksudo gedit / etc / fstab

  2. 找到这一行并进行更改使其看起来像这样(如果不存在则添加此行,并将512M更改为您喜欢的行。):

    tmpfs / dev / shm tmpfs默认值,size = 512M 0 0

  3. 重新启动或重新安装

    的/ dev / SHM

  4. 将/ tmp挂载到ramdisk

    为了便于使用,您可以将目录安装到

    /dev/shm
    

    通过以下命令:

    mkdir / dev / shm / tmp

    chmod 1777 / dev / shm / tmp

    mount --bind / dev / shm / tmp / tmp

答案 28 :(得分:4)

使用标准插件加速Eclipse的唯一真正方法是为其提供更多内存,并在某些情况下访问更快的存储空间/碎片整理硬盘。

除此之外,您可以在性能方面做得不多:大多数标准插件没有连续的运行时成本,即使Mylyn相对较快。

升级到您计算机上支持的最新JVM也可能有所帮助。

有些人会降级到较旧的Eclipse版本以获得更好的性能。使用Eclipse经典而不是官方版本也是有意义的。

答案 29 :(得分:3)

关闭大纲视图以加快编辑器之间的切换 每次切换到不同的选项卡或打开文件时,都必须更新大纲视图,这在我的机器上每次大约需要1秒钟。它只有1秒钟,但如果你经常更换标签,就像我一样,它会让你头疼。

答案 30 :(得分:3)

除了为内存使用配置eclipse.ini之外。我已经通过“启动和关闭选项”进行了配置。我的Eclipse现在燃烧得很快。

enter image description here

答案 31 :(得分:3)

如果Eclipse运行缓慢,我会遵循几个步骤:

  1. Eclipse中安装的任何未使用的插件都应该卸载它们。 - 很少有插件对Eclipse造成太大影响。
  2. 打开当前工作项目并关闭剩余项目。如果它们之间存在任何依赖关系,则只需在运行时打开。 如果所有都是Maven项目,那么通过pom文件中的矿工本地更改,您也可以将它们作为单独的项目。 如果您正在处理独立项目,则始终处理工作区中的任何一个项目。不要将多个项目保留在单个工作区中。

  3. 更改类型过滤器。它有助于指定要始终引用的特定包。

  4. 根据我的经验,不要更改内存JVM参数。除非您对JVM参数有充分了解,否则会导致许多未知问题。

  5. 始终取消选中自动构建。特别是,Maven项目的自动构建是没用的。

  6. 关闭所有打开的文件,只需打开当前工作文件。

  7. 使用“进入工作集”。而不是完整的工作台。

  8. 您的应用程序的大多数组件也可以独立实现和测试。了解如何在不需要服务器部署的情况下独立运行,这使您的工作变得简单快捷。 - 最近,我为我的项目工作了hibernate实体,两天,我在服务器上做了。即我改变了实体并再次在服务器上构建和部署,它一直在杀死它。那么,我创建了一个简单的JPA独立应用程序,并且我很快完成了我的工作。

答案 32 :(得分:2)

问题可能是java缓存或java临时文件。

在Windows上打开控制面板,找到Java面板 单击常规选项卡上的设置, 删除temprorary文件,并设置用于存储临时文件的磁盘空间量 文件od 10000MB或更少。 重启eclipse。恢复所有验证器,您将看到IDE Eclipse的速度正常。

答案 33 :(得分:2)

我们使用GIT作为CVS并使用gradle作为构建工具。

<强>症状

在我的案例中,一个具有&gt;的特定项目在导航包含大量文件的目录时,使用分层视图冻结了20&000; 000个文件。

<强>修正

  1. 创建新的Eclipse工作区
  2. 将项目新鲜克隆到Eclipse工作区
  3. 将项目导入Eclipse(在我们的示例中使用Gradle导入)

答案 34 :(得分:2)

我有类似的减速,只有在使用Eclipse的C / C ++变体时,此修复才适用。对于C/C++,您可能希望禁用以CPU占用而闻名的索引器。它相当于VS intellisense。 要禁用CDT索引器,请转到Window->Preferences,在C/C++标签下选择索引器,然后取消选中启用索引器。

答案 35 :(得分:2)

还有一个解决方案 删除这两个文件夹中的所有文件

.metadata.plugins \ org.eclipse.core.resources.history .metadata.plugins \ org.eclipse.jdt.core

这对第一个妈妈有帮助。但它仍然保持缓慢

答案 36 :(得分:2)

这篇文章 How to quickly make eclipse faster 非常有用。我尝试了一些提示,这是真的;它使我的Eclipse运行得更快。

答案 37 :(得分:2)

我通过增加堆空间和更改垃圾收集器设置来加速Eclipse,尝试了许多排列。

但是对于我的本地开发,我个人认为,禁用JVM垃圾收集器最适合我。

Mylyn自动完成功能没有任何问题,并且(无响应)部分已经大大减少了。

以下是我的 eclipse.ini 文件的快照。

-vm
--C:\JAVA\jre\bin\server\jvm.dll
C:\JAVA8x64\jre\bin\server\jvm.dll
-vmargs
-Xnoclassgc
-Dosgi.requiredJavaVersion=1.6
-Xms256m
-Xmx1024m

我尝试过使用JDK 6和JDK 8,在这两种情况下都注意到了显着的加速。

答案 38 :(得分:1)

如果由于工作等原因而没有绑定到Eclipse,那么您需要的一些插件\功能只能通过Eclipse等提供;那么一个可能的策略是完全摆脱Eclipse。这将极大地加速发展。

您可以切换到满足您需要的任何其他IDE或开发环境。一个例子是NetBeans。一些提议的加速也适用于NetBeans或任何其他IDE。

直接适用于Linux的一个示例是尽可能多地移动到tmpfs挂载。对于NetBeans中的Java开发,我已将Java文档和源代码移至tmpfs mount,从而大大提升了性能。

同样,在C ++开发期间,如果可能的话,我将确保整个源代码树都在我的tmpfs mount中。虽然我没有对构建性能进行广泛的基准测试,但是对合理大小的代码库(几百个源文件+头文件)进行了一些测试,导致编译时间减少了50%。

请注意,使用此方法时,在断电期间,您的数据不会持续存在。为了解决这个问题,可以创建一个rsync tmpfs挂载到某个备份目录的脚本,并将该脚本添加为每分钟运行一次的cronjob。

答案 39 :(得分:1)

将RAM增加到8 GB以上并禁用autobuild项目。这对我有用。

答案 40 :(得分:0)

可能有几件事可能会延迟日食的开始和结束。其中之一就像我们在Windows中的外观一样熟悉。禁用Windows动画和禁用启动活动可以在一定程度上加速Windows

类似于月食,我们可以拥有相同的东西Windows-> General-> Preferences-> Appearance->关闭一些装饰选项。这会有所助益,但可能不会产生太大影响。

我认为,您可能已经在工作空间中创建的项目应受到一定程度的限制,或者,如果项目更多,则应创建一个新的工作空间。例如,当您尝试在服务器上运行单个项目时,与在同一服务器上运行多个项目相比,所需的时间更少。

答案 41 :(得分:0)

对于 Windows 用户:

如果你进入任务管理器,选择eclipse应用程序,然后点击它旁边的小箭头,你通常只会看到一个子进程出现在“eclipse.exe”下面。但是,就我而言,如果您有多个“Java Platform SE Binary”实例,则结束所有实例。出于某种原因,我在后台运行了其中的三个,即使我目前没有运行任何项目。尽管如此,这仍会将性能提升到您第一次在计算机上安装 eclipse 时的状态。

如果更改后您无法再运行项目,请尝试重新启动 eclipse。

答案 42 :(得分:0)

你有一只巨大的公羊吗?创建一个 ramdisk 并在那里放置你的

  • JDK
  • JVM
  • 日蚀
  • 工作区

确保将更改保存到 HDD 或提交到 VCS 以避免断电时数据丢失。