您的位置:首页 > 编程语言 > Java开发

eclipse启动优化,终于不那么卡了!

2015-06-08 15:37 736 查看
eclipse启动优化,终于不那么卡了!

网上找了好多都是myEclipse的优化的,跟eclipse有点区别,找了很多方法还是不能让这个eclipse(Version: Kepler Release)快起来,太费事了,终于给俺找到一个挺好用的方法,转来的。

首先了解下JVM中几个相关的概念:

Xms:最小堆大小

Xmx:最大堆大小

Xmn:年轻代堆大小

Xss:每个线程的堆大小

PermSize:初始持久代大小

MaxPermSize:最大持久代大小

一般Xms、Xmx设置相同,PermSize、MaxPermSize设置相同,这样可以避免伸缩堆大小带来的性能损耗。

首先eclipse安装根目录下打开eclipse.ini,加上配置:

帮助
目的是运行eclipse的时候可以打出详细gc过程。

启动eclipse,然后打开gc.log一看,哇塞启动一次就做了几十次GC,包括不少次Full GC,着手优化……

先解决Full GC的问题:

帮助
如上GC日志可以看出,Full GC主要是针对Tenured、Perm区的GC,好那先调整Perm大小,指定充裕的持久代区域,eclipse.ini中加入:

帮助
再次启动看gc.log,Full GC没有了,但是还有很多次普通GC,说明还是需要进一步优化。

eclipse的初始堆大小分配得很小,因此不利于年轻代堆大小的分配,如果设置的年轻代堆大小Xmn大于最小堆大小Xms,eclipse将无法启动。

因此,将Xms调整为512m,重启动后观察GC大幅减少。

最后调整Xmn,年轻代堆大小,经过反复比较后,发现设置“-Xmn256m”效果最优。

优化后的GC日志:

帮助
在接近6秒的启动时间内,eclipse总共只做了2次普通GC回收,怎么样效果明显吧!

一般在不对eclipse进行相关设置的时候,使用eclipse总是会觉得启动好慢,用起来好卡,其实只要对eclipse的相关参数进行一些配置,就会有很大的改善。

加快启动速度

1.在eclipse启动的时候,它总是会搜索让其运行的jre,往往就是这个搜索过程让eclipse启动变慢了。(没设置时,等2-3s出现进度条,设置后直接出现进度条)

只要在eclipse.ini中加入-vm的参数就可以了



2.取消所有启动时要激活的插件(在用时激活也一样)和其它的相关的在启动时执行的操作。



3.关闭自动更新



减少jvm内存回收引起的eclipse卡的问题

这个主要是jvm在client模式,进行内存回收时,会停下所有的其它工作,带回收完毕才去执行其它任务,在这期间eclipse就卡住了。所以适当的增加jvm申请的内存大小来减少其回收的次数甚至不回收,就会是卡的现象有明显改善。

主要通过以下的几个jvm参数来设置堆内存的:
-Xmx512m最大总堆内存,一般设置为物理内存的1/4
-Xms512m初始总堆内存,一般将它设置的和最大堆内存一样大,这样就不需要根据当前堆使用情况而调整堆的大小了
-Xmn192m年轻带堆内存,sun官方推荐为整个堆的3/8
堆内存的组成总堆内存 = 年轻带堆内存 + 年老带堆内存 + 持久带堆内存
年轻带堆内存对象刚创建出来时放在这里
年老带堆内存对象在被真正会回收之前会先放在这里
持久带堆内存class文件,元数据等放在这里
-XX:PermSize=128m持久带堆的初始大小
-XX:MaxPermSize=128m持久带堆的最大大小,eclipse默认为256m。如果要编译jdk这种,一定要把这个设的很大,因为它的类太多了。
我的配置(2g内存的笔记本):



还有其它的相关参数可以看看下面的参考材料,很有启发的:

-XX:+UseParallelGC 使用并发内存回收

-XX:+DisableExplicitGC 禁用System.gc()的显示内存回收

eclipse相关设置来来减少卡的现象

1.关闭自动构建。在启用时,每保存一下,eclipse就会自动为我们构建整个项目,这样对于大的项目来说,每次保存时都会造成很卡。其实自动构建完全没有必要,只要保证在运行前构建一次就ok了,eclipse也会在运行前自动为我们构建,所以关闭是最明智的选择。



2.关闭拼写检查设置

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: