笔者使用Eclipse作为日常工作中的主要IDE工具,由于安装的插件比较多比较大,代码也很多,启动Eclipse直到所有项目编译完成需要几分钟,一直对开发环境的速度感觉不满意。最近看了”深入理解JAVA虚拟机”这本书,决定对Eclipse进行” 动刀”调优,感兴趣的小伙伴可以参考如下配置,根据自己的硬件情况,进行调节。
eclipse.ini配置中加入参数,不过根据不同的硬件情况,适当调节更佳。
-Xverify:none
-Xmx512m
-Xms512m
-Xmn128m
-XX:permSize=96m
-XX:MaxPermSize=96m
-XX:+DisableExplicitGC
-Xnoclassgc
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=85
参数详细解释如下:
-Xverify:none 禁止字节码验证过程
-Xmx512m 最大堆
-Xms512m 最小堆
-Xmn128m 年轻堆,一般为整个内存的3/8
-XX:permSize=96m
-XX:MaxPermSize=96m 设置永久代的最大值
-XX:+DisableExplicitGC 屏蔽掉System.gc()
-Xnoclassgc
-XX:+UseParNewGC 新生代选择ParNew收集器
-XX:+UseConcMarkSweepGC 设置并发收集器:老年代选CMS收集器,针对CMS收集器对老年代使用了68%的空间
后被激活,而其他的收集器几乎是填满了再收集。所以如果应用中老年代使用增长不快,可以调节来降低内存回收次数
-XX:CMSInitiatingOccupancyFraction=85 如果CMS运行期间内存无法满足程序就会出现Concurrent Modefailaue,所以适当调节,由实际情况定。
如上只是一个初步的解释,如感兴趣请参考《深入理解java虚拟机》第二版