Eclipse运行性能调优

简介: 最近,Eclipse(Eclipse-JEE3.5)运行十分缓慢(可能插件安装过多),因此,得到了个机会调优一下,以便提高工作效率 下图是未经任何调整eclipse的gc情况(使用jvisualvm命令,安装visual gc插件) 从图中可以看出,仅启动过程就有38次young gc,11次full gc 为了查看gc细节,在eclipse.ini中加入如下参数: -verbos

最近,Eclipse(Eclipse-JEE3.5)运行十分缓慢(可能插件安装过多),因此,得到了个机会调优一下,以便提高工作效率
下图是未经任何调整eclipse的gc情况(使用jvisualvm命令,安装visual gc插件)

从图中可以看出,仅启动过程就有38次young gc,11次full gc
为了查看gc细节,在eclipse.ini中加入如下参数:
-verbose:gc
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-Xloggc:D:/soft/eclipse-jee/gc.log
gc的内容如下:

从gc日志中可以看出:
(1)young区开始为4928K,持续的不够,因此造成不断的young gc
(2)full gc时,old区的空间增大扩容,因此old区空间也不够
为了防止这种情况发生,加入以下参数:
-Xms768m
-Xmx768m
-XX:NewSize=512m
-XX:MaxNewSize=512m
此次调整后结果如下图:

从图中可以看出,young gc没有了,但为啥还11次full gc呢?
以下是此次gc的日志:

从gc.log中,可以看出,是因为perm区的没有空间了,才导致的full gc,于是将perm区增大并固定大小
加入以下参数:
-XX:PermSize=96m
-XX:MaxPermSize=96m
此次调整后结果如下:

可以看出,没有full gc了,而且young gc只有一次,有了一定的效果了
启动时gc的问题解决了,现在来看其他问题:

从图中可以看出,如果classloader加载class的时间能快些,应该也会节省些时间
加入以下参数:
-Xverify:none(关闭Java字节码验证,从而加快了类装入的速度)

将上两图比较
第一个:平均每个类的载入时间为,54.615/10950 = 0.0049876712328767s
第二个:平均每个类的载入时间为,34.498/9484 = 0.0036374947279629s
可以看出,多少是有一些性能上的提高的
考虑到eclipse长时间运行,其他可能调节的有以下几点:
(1)关闭System.gc()
(2)提高eclipse中某些代码的JIT编译
(3)优化垃圾收集器,以减少垃圾收集造成应用无响应的时间
对于(1),加入以下参数:
-XX:+DisableExplicitGC
对于(2),会影响启动速度,但由于eclipse是长时间运行,因此此优化是必要的:
-XX:CompileThreshold=100(方法调用多少次就会被编译成本地机器码)

可以看出,编译方法的数量和时间明显增加
对于(3),换用CMS收集器应该比串行收集器要好,加入以下参数:
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=80
至此,调优结束


总结一下加入的参数如下:
-verbose:gc
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-Xloggc:D:/soft/eclipse-jee-galileo-win32/eclipse/gc.log
-Xms512m
-Xmx512m
-XX:NewSize=256m
-XX:MaxNewSize=256m
-XX:PermSize=96m
-XX:MaxPermSize=96m
-XX:+DisableExplicitGC
-XX:CompileThreshold=100
-Xverify:none
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=80

相关文章
|
6月前
|
开发工具 Android开发 git
【dbeaver】Eclipse 运行 dbeaver 源码
【dbeaver】Eclipse 运行 dbeaver 源码
488 0
WXM
|
4月前
|
Java 应用服务中间件 网络安全
Eclipse运行SSM/SSH项目教程
Eclipse运行SSM/SSH项目教程
WXM
147 0
|
6月前
|
Java 关系型数据库 BI
基于Java Swing 开发的网吧管理系统【eclipse和idea两个版本运行源码】
基于Java Swing 开发的网吧管理系统【eclipse和idea两个版本运行源码】
125 0
|
Oracle Java 关系型数据库
JDK配置,eclipse运行 web通过apache-tomcat,mysql配置
JDK配置,eclipse运行 web通过apache-tomcat,mysql配置
|
Java Android开发
eclipse开发和运行Java程序
eclipse开发和运行Java程序
72 0
|
Java Maven Android开发
Eclipse内置jetty运行web项目的配置
Eclipse内置jetty运行web项目的配置
|
Java Android开发
设置Eclipse自带Ant指定版本JDK和运行时参数
设置Eclipse自带Ant指定版本JDK和运行时参数
352 0
设置Eclipse自带Ant指定版本JDK和运行时参数
|
Ubuntu Java Android开发
Ubuntu下运行Eclipse时一些错误的解决办法:
Ubuntu下运行Eclipse时一些错误的解决办法:
170 0
|
应用服务中间件 Android开发 Windows
Eclipse运行速度优化
ECLIPSE运行时速度奇慢,具体表现为: 1、只要ECLIPSE启动后,硬盘灯就狂闪,不停的读盘; 2、发布TOMCAT经常在0%; 3、偶尔CPU占满;
178 0
|
Java 程序员 Android开发
Eclipse 答疑:为什么在 Eclipse 中,运行本程序却是另外一个程序的结果?
Eclipse 答疑:为什么在 Eclipse 中,运行本程序却是另外一个程序的结果?
346 0
Eclipse 答疑:为什么在 Eclipse 中,运行本程序却是另外一个程序的结果?
下一篇
无影云桌面