Eclipse 速度的三个最有影响力的因素是:
Indigo(3.7.2)SR2 中的 “相同” 工作空间在 4 秒内加载,Kepler SR2(4.3.2)在 7 秒内加载,Luna(4.4.0)在 10 秒内加载。所有都是 Java EE 捆绑包。较新的版本具有更多捆绑的插件,但趋势仍然很明显。 (通过 “相同” 工作空间,我的意思是:使用相同(额外安装)的插件,从版本控制中检出相同项目)。
使用最新的 JDK (在编写本文时为 1.7)启动它,这并不妨碍您使用所需的任何其他 JDK 在您的 Eclipse 项目中进行编译:1.4.2、1.5、1.6 或更早...)
-vm jdk1.6.0_10\jre\bin\client\jvm.dll
配置eclipse.ini ( 有关完整的 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 的内存, -Xmx4G
。
注意:
引用 jvm.dll 有很多优点:
但是,如果尝试将内存推得过高,它也会有一些缺点。
Eclipse 占用的默认内存是MaxPermSize 和 Xmx的组合 。总共最多 512 MB,对于 1 GB 内存的计算机来说已经足够了。
将-Xverify:none
添加到eclipse.ini文件。
它将大大减少 Eclipse 的启动时间(在我看来,是 50%,甚至更多)。这将告诉 VM 不要验证它正在加载的所有. class 文件。
请考虑以下事项: 切勿在生产系统中禁用字节码验证 (如注释中所述)
转到Windows - > 首选项 - > 确认 ,并取消任何validators
你不想要或需要。
对于 Eclipse 3.7,请使用Windows- > 首选项 -> 常规 -> 启动和关闭 。
确保使用 Sun JVM 运行 Eclipse。
在 Linux(尤其是 Ubuntu)上,默认情况下会安装 Eclipse 以使用开源 GCJ,而后者的性能则大大降低。使用update-alternatives --config java
切换到 Sun JVM,可以大大提高 Eclipse 中的 UI 适应性。
关闭任何当前未使用的打开的项目。
尝试在开发过程中关闭自动发布模式。
感谢您的提示。这些选项(上述)对我有很大帮助:
视窗:
增加内存并与我在 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
通过禁用标签修饰( Windows -> Preferences; General -> Appearance -> Label Decorations
)和禁用启动时未使用的功能( Windows -> Preferences; General -> Startup and Shutdown
),可以进一步提高性能。
通过根据您的 JVM 选择不同的垃圾回收策略,您还可以获得其他性能。
如果您厌倦了重新启动周期,则可以使用 ZeroTurnaround 中的JavaRebel 。这将缩短您花费在服务器 / 客户端重启上的时间。
虽然与 Eclipse 没有直接关系:
如果您运行的是 Windows 7(可能是 Windows Vista),请确保在默认位置 - 主文件夹中禁用工作区文件夹的文件索引。 Windows 默认情况下会索引主文件夹中的所有内容,这通常只是浪费您的工作空间。 (右键单击资源管理器中的工作区文件夹, 属性 -> 高级 。)
禁用病毒扫描程序,或至少将任何病毒扫描程序配置为在读取访问权限时不扫描 JAR 文件。
Eclipse 懒惰地加载插件,并且最常用的插件(例如Subclipse)即使不使用也不做任何事情。它们不会在运行时降低 Eclipse 的运行速度,也无法帮助您禁用它们。实际上,事实证明,正确使用Mylyn可以减少 Eclipse 的内存占用。
我使用大量插件运行 Eclipse,而没有任何性能损失。
使用 - Xmx 开关不仅需要增加内存,还需要perm gen size 。我认为该问题已在 Eclipse 3.4 中解决。