如何使使用Eclipse的体验更快?
例如:我禁用了所有我不需要的插件(Mylyn, Subclipse,…)
我没有为Mercurial使用插件,而是将TortoiseHG配置为一个外部工具。
如何使使用Eclipse的体验更快?
例如:我禁用了所有我不需要的插件(Mylyn, Subclipse,…)
我没有为Mercurial使用插件,而是将TortoiseHG配置为一个外部工具。
我给了它大量的内存(在启动它的命令中添加一个- xmx开关),并尽量避免退出和重新启动它——我发现最严重的延迟是在启动时,所以给它大量的RAM可以让我在崩溃之前保持更长的时间。
Eclipse会延迟加载插件,大多数常见的插件, 比如Subclipse,如果你不使用它们,就不要做任何事情。 它们在运行时完全不会降低Eclipse的速度,而且它 不能帮你让他们失效。事实上,Mylyn被展示过 在正确使用Eclipse时减少内存占用。
我运行Eclipse时使用了大量的插件,但没有任何性能 罚点球。
Try disabling compiler settings that you perhaps don't need (e.g. the sub-options under "parameter is never read). Which version of Eclipse are you using? Older versions were known to be slow if you upgraded them over and over again, because they got their plug-ins folder inflated with duplicate plug-ins (with different versions). This is not a problem in version 3.4. Use working-sets. They work better than closing projects, particularly if you need to switch between sets of projects all the time.
使用-Xmx不仅需要增加内存 开关,这也是烫发的大小。我认为 在Eclipse 3.4中解决了这个问题。
使用标准插件加速Eclipse的唯一真正方法是为其提供更多内存,在某些情况下还可以访问更快的存储空间/碎片整理的硬盘驱动器。
除此之外,在性能方面可以做的不多:大多数标准插件都没有持续的运行时成本,即使Mylyn也相对较快。
升级到您机器上支持的最新JVM也会有所帮助。
有些人会降级到较旧的Eclipse版本以获得更好的性能。使用Eclipse经典版而不是官方发行版可能也有意义。
确保使用Sun JVM运行Eclipse。
在Linux上,特别是Ubuntu上,默认安装Eclipse以使用开源的GCJ,而GCJ的性能要差得多。使用update-alternatives——config java切换到Sun JVM,可以大大提高Eclipse中的UI的快快性。
对Eclipse速度影响最大的三个因素是:
使用最新版本的Eclipse(2020-06截至2020年6月26日) 请注意David balaicic的评论(2014年7月)与六年前的标准相矛盾:
Indigo (3.7.2) SR2中“相同”的工作空间在4秒内加载,Kepler SR2(4.3.2)在7秒内加载,Luna(4.4.0)在10秒内加载。它们都是Java EE包。新版本有更多捆绑的插件,但趋势仍然很明显。(我所说的“相同”工作空间是指:使用相同的(额外安装的)插件,从版本控制中检出相同的项目)。
使用最新的JDK启动它(在撰写本文时使用Java 14,这并不妨碍您在Eclipse项目中使用任何其他您想要的JDK: 1.4.2、1.5、1.6旧版本……) vm jdk1.6.0_10 \ jre \ bin \ client \ jvm.dll 配置eclipse.ini(有关完整的eclipse.ini,请参阅这个问题) -Xms512m -Xmx4096m […]
Xmx参数是Eclipse将获得的内存量(简单来说)。使用-Xmx4g,它可以获得4gb的RAM,等等。
注意:
引用jvm.dll有以下优点:
启动画面很快就会出现。 进程列表中的Eclipse.exe,而不是java.exe。 防火墙:Eclipse需要访问Internet而不是Java。 窗口管理品牌问题,特别是在Windows和Mac上。
2020年12月,Udo符合评论
From version 4.8 (Photon) an up there was a steady speed gain after each version. The main platform was optimized every release to load faster, enable more features for the dark theme and to add more features for newer Java versions for the Java development tools. Especially with-in the last 3 versions the startup time was increased a lot. There should be a significant increase in start-up time with the newest version of Eclipse 2020-12. In my experience it started a lot faster with each new version. But: There are still plug-ins which do not follow the new way of using the Eclipse API and are therefore still slow to start. Since the change to Java 11 as the minimum runtime version starting from Eclipse version 2020-09 at least the core system uses the newer features of the JVM. It is up to the providers of the other plug-ins to upgrade to newer APIs and to use the full power of modern CPUs (e.g. concurrent programming model).
另请参阅
为Eclipse提供正确数量的线程和正确数量的内存:问题:Eclipse和Eclipse索引器占用了我所有的资源/ CPU%
禁用标签装饰可以获得另一种性能提升 (Windows ->首选项;概述->外观->标签装饰) 在启动时禁用未使用的功能 (Windows ->首选项;一般->启动和关闭)。
您还可以根据JVM选择不同的垃圾收集策略来获得额外的性能。
如果你厌倦了重启周期,你可以使用ZeroTurnaround的JavaRebel。这将缩短重启服务器/客户端的时间。
我已经禁用了Windows > Preferences > General中所有未使用的选项,它对性能有巨大的积极影响,eclipse在切换选项卡时仍然很慢,我不想增加内存,但在滚动时要快得多。谢谢你的提示。
I also tuned vmargs and stuff. But what really sped up Eclipse on Windows is the "proper" configuration of the anti-virus software. You have to disable the on-demand scanning of packed files. jar files, and many files related to java are packed with PKZIP algorithm to spare space. Because Eclipse uses tons of java files, an anti-virus attempts to individually unpack and scan every one of them. So for Windows platform: turn off the on-demand scanning of packed files, otherwise Eclipse will be unusably slow. Please keep in mind, that disabling this unfortunately makes your system weaker against attacks, most of the malware use packers.
还有一件事可以在Windows和Linux上加速Eclipse——将JVM放在RAM磁盘中。
对于Windows,您可以使用Qsoft的商用RAM磁盘驱动程序。
对于Linux,可以使用Internet上许多文章中描述的任何一种方法。重要的是要为RAM磁盘提供比JVM大小大10%的额外空间。
来看看。这真的很重要。
谢谢你的提示。 上面提到的这些选择对我帮助很大:
窗口:
增加内存&关于我在eclipse.ini中更新的Java版本:
-Dosgi.requiredJavaVersion=1.6
-Xms512m
-Xmx512m
-XX:PermSize=512m
-XX:MaxPermSize=512M
-Xverify:none
此外,由于我们正在优化速度,因此将-Xms设置为与-Xmx相同的值将使JVM以允许使用的最大内存量启动。
Linux / Ubuntu:
使用
update-alternatives --config java
虽然与Eclipse没有直接关系:
如果你运行的是Windows 7(可能还有Windows Vista),如果你的东西在默认的位置——你的主文件夹里,一定要禁用工作空间文件夹的文件索引。Windows默认会索引你主文件夹中的所有内容,这对你的工作空间来说是一种浪费。(右键单击资源管理器中的工作区文件夹,属性->高级。)
转到Windows ->首选项->验证,取消选中任何你不想要或不需要的验证器。
对于Eclipse 3.7,您使用Windows ->首选项->通用->启动和关机。
如果您使用Maven和ivy,请检查它们的控制台,以防它们在构建期间占用处理。我使用ivy,在此基础上,我有某些JAR文件(内部)更改为相同的版本,所以它必须一直锻炼来获取它们。
如果您在网络驱动器上定义了项目,那么在构建/读/写类型的过程中也会遇到延迟。
禁用/卸载你不需要的插件。 你不需要的近距离视角 关闭未使用的数据库连接
我实现了一个插件来配置在运行时加载哪些特性,以提高性能并减少不同插件之间的冲突。
您可能已经在Eclipse中安装了许多特性,例如Android开发工具、C/ c++开发工具、PHP、SVN、Git和ClearCase插件。因此Eclipse很重,需要消耗大量内存,其中一些并不经常使用。
因此,您可以使用我的工具创建不同的运行时策略,例如一个包含Android、Git和基本Eclipse,另一个包含C/ c++、SVN和基本Eclipse。下一次,如果您使用的策略只有Android和Git, Eclipse将只加载指定的特性。
欢迎您试用并反馈给我。:)
该工具的名称是Equinox Advanced Configurator。
除了最新的软件(最新的Eclipse和Java)和更多的RAM,您可能还需要
删除不需要的插件(并非所有插件都需要Mylyn和Eclipse的J2EE版本) 不必要的验证器 禁用拼写检查 关闭Java编辑器中未使用的选项卡(是的,它有助于减少Eclipse负担) 关闭未使用的项目 禁用不需要的标签声明(SVN/CVS) 禁用自动建筑
参考:making-eclipse-ide-faster
努力配置您的构建路径。如果代码完成需要遍历整个项目文件夹,则会占用大量内存。
右键单击项目并选择首选项。 选择生成路径设置并删除项目文件夹。 然后只添加包含源代码和库代码的文件夹。
在特殊情况下,性能差可能是由于损坏了h2或nwire数据库。有关更多信息,请阅读加速Eclipse PDT和nWire的五个技巧。
在我工作的地方,我们依赖虚拟机来运行Debian。出于测试目的,我已经在VM上安装了另一个Eclipse版本,但如果我运行的是另一个Eclipse版本,有时会产生冲突。有一个两个Eclipse版本共享的共享文件夹。有一次我不小心让Debian Eclipse安装在后台运行,结果导致数据库文件损坏。
在eclipse.ini文件中添加-Xverify:none。
它将大大缩短Eclipse启动时间(对我来说是50%,如果不是更多的话)。这将告诉VM不要验证它正在加载的所有.class文件。
考虑一下:永远不要在生产系统中禁用字节码验证 (如评论所述)
当限制打开标签的数量时(过去我经常打开30多个标签),我的性能有了相当大的提高。您可以让Eclipse自动为您处理这个问题:
窗口->首选项->编辑器->自动关闭编辑器
8个打开的标签是>>符号出现之前的金额,所以我倾向于让它保持在8。
当打开更多选项卡时,最近最少访问的选项卡将被关闭。
->当所有编辑器都是脏的或固定的
如果它有未保存的修改,你可以提示保存和重用(标签将被关闭,一个新的将被打开在它的地方)。或者你可以打开一个新的编辑器,从而增加打开标签的数量(不显眼的选择)。
如果你想确保一些标签永远不会自动关闭,你可以钉住它们。点击大头针图标(工具栏中最右边的图标,以“大头针编辑器”为tooltiptext)。
如果您因为工作等原因没有绑定到Eclipse,您需要的某些插件功能只能通过Eclipse使用等等;那么一个可能的策略就是完全摆脱Eclipse。这将极大地加快速度。
您可以切换到任何其他IDE或开发环境,以满足您的需要。NetBeans就是一个例子。一些提议的加速也适用于NetBeans,或任何其他IDE。
一个直接应用于Linux的例子是尽可能多地移动到tmpfs挂载。在NetBeans中进行Java开发时,我将Java文档和源代码移到了tmpfs挂载中,这极大地提高了性能。
同样,在c++开发过程中,如果可能的话,我将确保整个源代码树都在我的tmpfs挂载中。虽然我还没有对构建性能进行广泛的基准测试,但在合理大小的代码库(几百个源文件+头文件)上进行了一些测试,结果导致编译时间减少了50%。
请记住,使用此方法时,您的数据在断电期间不会持久。为了解决这个问题,可以创建一个脚本,将tmpfs挂载到某个备份目录,并将该脚本添加为每分钟运行一次的cronjob。
也试试这个,它会提高性能:
清理索引-{工作区 路径}.metadata.plugins \ org.eclipse.jdt。核心清理历史—— {工作区 路径}.metadata.plugins \ org.eclipse.core.resources.history
清理上述文件夹不会影响项目文件。
关闭大纲视图以加快编辑器之间的切换。 每次切换到不同的选项卡或打开一个文件时,大纲视图都必须更新,在我的机器上,每次更新大约需要1秒钟。这只是1秒钟,但如果你经常换标签,就像我一样,这将省去你的头痛。
通过增加堆空间和更改垃圾收集器设置来加速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,在这两种情况下,都注意到显著的加速。
**Tips for making Eclipse IDE Faster**
Eclipse在处理小型项目时运行得更快。但是当你不得不处理一个大项目时,你会对它的速度感到恼火。即使有一个巨大的RAM,你也不会满意它 速度。以下步骤将帮助eclipse提高其速度
Remove unwanted activation of some of the plugins at start-up by going to windows–>preference–>General–>Startup and shutdown also make sure you don’t use those plugins in any of your views Disabling label decorations which is of less use for you, will also help you to gain some performance . Go to Windows–>Preference–>General–>Appearance–>Label -> Decorations Close unwanted projects and use working set option to move from one group of project to another smoothly. Configure eclipse.ini which will be available in the eclipse installed location.
Configuring eclipse.ini should be based on your RAM
-Xms256m
-Xmx512m
-XX:PermSize=512m
-XX:MaxPermSize=512M
也可以访问http://wiki.eclipse.org/Eclipse.ini获取更多选择 配置eclipse.ini。
Do not keep lot of tabs opened in the editor. Better to have around 20 tabs . Regularly close the unused tabs. To open resource we can always use ctrl+shift+R and ctrl+shift+T (java resource) instead of opening lot of tabs I experienced a considerable improvement in performance when limiting the number of open tabs (In the past I frequently had 30+ tabs open). You can let eclipse handle this for you automatically: Window->Preferences->Editors-> close editors automatically 8 open tabs is the amount before the >> sign appears, so I set 14 as my default value. When opening more tabs, the ones the least recently accessed will be closed. When all editors are dirty or pinned. If it has unsaved modifications you can prompt to save & reuse (tab will be closed, a new one will be opened in its place). Or you can open a new editor end thus increase the amount of open tabs (the unobtrusive choice). If you want to ensure some tabs never get closed autmatically, you can pin them. This by clicking on the pin icon (the rightmost icon in the toolbar, with “pin editor” as tooltiptext). Go to Windows -> Preferences -> Validation and uncheck any validators you don’t want or need. Go to Windows -> Preferences -> General -> Appearance -> and uncheck any animation you don’t want or need. Go to Windows -> Preferences -> Maven and check 'do not automatically update dependencies'.
试试这些。有两种方法。
第一个过程
参考这篇文章。
http://www.javacodegeeks.com/2014/06/the-real-way-to-make-eclipse-run-faster-on-ubuntu.html
第二个过程。
在终端执行命令。
ramdisk
为Ubuntu获得更好的性能和更快的响应。
Ramdisk是系统内存的一部分。Ubuntu默认使用物理内存(RAM)的一半作为ramdisk,并将其挂载到RAM上
/dev/shm
,它可以像普通磁盘空间一样使用(创建文件和文件夹,并以更好的性能操作它们,而不是将它们存储在硬盘上)。如果ramdisk使用了超过一半的RAM,则数据将被转移到交换空间。如果ramdisk使用更少的内存,剩余的内存仍然可以做RAM正在做的事情。
设置ramdisk上限
如上所述,默认情况下,ramdisk可以使用一半的RAM。如果您想更改上限,请执行以下步骤:
使用您最喜欢的编辑器编辑/etc/fstab: Gksudo gedit /etc/fstab .使用实例 找到这一行并更改它使其看起来像这样(如果不存在则添加这一行,并将512M更改为您喜欢的内容): tmpfs /dev/shm tmpfs默认值,size=512M 0 0 重启或重新挂载 /dev/shm
将/tmp挂载到ramdisk上
为了便于使用,可以将目录挂载到
/dev/shm
通过以下命令:
mkdir /dev/shm/tmp
chmod 1777 /dev/shm/tmp
绑定/dev/shm/tmp /tmp
如果Eclipse运行缓慢,我遵循以下几个步骤:
Any unused plugins installed in Eclipse, should uninstall them. -- Few plugins makes a lot much weight to Eclipse. Open current working project and close the remaining project. If there is any any dependency among them, just open while running. If all are Maven projects, then with miner local change in pom files, you can make them individual projects also. If you are working on independent projects, then always work on any one project in a workspace. Don't keep multiple projects in single workspace. Change the type filters. It facilitates to specify particular packages to refer always. As per my experience, don't change memory JVM parameters. It causes a lot of unknown issues except when you have sound knowledge of JVM parameters. Un-check auto build always. Particulary, Maven project's auto build is useless. Close all the files opened, just open current working files. Use Go Into Work sets. Instead of complete workbench. Most of the components of your application you can implement and test in standalone also. Learn how to run in standalone without need of server deploy, this makes your work simple and fast. -- Recently, I worked on hibernate entities for my project, two days, I did on server. i.e. I changed in entities and again build and deployed on the server, it killing it all my time. So, then I created a simple JPA standalone application, and I completed my work very fast.
这个线程中的最佳实践是在ZeroTurnaround的免费Optimizer For Eclipse中实现的。
它有什么帮助?
内存分配不足 类验证开销 过多的索引和历史记录 过时或缓慢的JDK Eclipse已经过时 漫长的构建和重新部署时间
要了解更多细节,请查看RebelLabs的这篇文章。
问题可能是java缓存,或者java临时文件。
打开窗口的控制面板,找到Java面板 单击“常规”页签的“设置”, 删除临时文件,并设置存储临时文件的磁盘空间 文件大小不超过10000MB。 重新启动eclipse。恢复所有验证器,您将看到IDE Eclipse的速度是正常的。
又有一个解决方案 删除这两个文件夹中的所有文件
.metadata.plugins \ org.eclipse.core.resources.history .metadata.plugins \ org.eclipse.jdt.core
这是第一次帮助。但它仍然保持缓慢
我也遇到过类似的减速,这个修复只适用于使用Eclipse的C/ c++变体的情况。对于C/ c++,你可能想要禁用索引器,它以占用CPU而闻名。它相当于VS智能感知。 要禁用CDT索引器,请进入Window->Preferences,在C/ c++选项卡下选择indexer并取消选中启用索引器。
我们使用GIT作为CVS, gradle作为构建工具。
症状
在我的案例中,一个具有> 20 000个文件的特定项目在导航具有大量文件的目录时使用分层视图冻结。
Fix
创建新的Eclipse工作区 将项目重新克隆到Eclipse工作区中 将项目导入Eclipse(在本例中使用Gradle导入)
可能有一些事情会延迟eclipse的启动和退出。其中一个类似于Windows中的lookalike。禁用窗口动画和禁用启动活动可以在一定程度上加快窗口速度
类似于在eclipse中,我们可以有同样的东西Windows->一般->首选项->外观->关闭一些装饰选项。这可能会起到一点提振作用,但可能不会产生太大影响。
在我看来,你可能已经创建的工作空间中的项目应该限制在一定的范围内,如果项目更多,应该创建一个新的工作空间。例如,当您尝试在服务器上运行单个项目时,与在同一服务器上运行多个项目相比,它所花费的时间更少
Windows用户:
If you go to Task Manager, choose the eclipse application, and click on the little arrow next to it, you will usually just see one sub-process appear below "eclipse.exe". However, in my case, if you have multiple instances of "Java Platform SE Binary", then end all of them. For some reason, I had three of these running in the background, even though I wasn't currently running any projects. Nevertheless, this will boost performance back to the way it likely was when you first installed eclipse on your computer.
如果更改后您不能再运行项目,那么尝试重新启动eclipse。