Eclipse性能调优

本文介绍了如何根据《深入理解Java虚拟机》对Eclipse进行性能调优,包括硬件和虚拟机参数分析,调整内存设置,选择合适的垃圾收集器,以及禁用字节码验证。通过调优,Eclipse的启动时间减少了约两三秒,展示了调优的有效性。
摘要由CSDN通过智能技术生成

Eclipse性能调优

根据《深入理解Java虚拟机 JVM高级特性与最佳实践》调优自己的Eclipse。虽然我感觉10多秒的启动时间还可以,且用起来没什么卡顿,比我用Idea时的1分多钟启动时间,时不时卡顿强多了,但仍然想试试,看能优化到什么程度。之后也会对于Idea进行优化,做一下对比。

1 调优前的程序运行状态

1.1 硬件参数

外星人笔记本,8核CPU。
在这里插入图片描述

1.2 虚拟机参数

下面的参数说明,默认启动使用的是server模式,C2编译器。按《深入理解Java虚拟机》的说法,-XX:+UseParallelGC参数使用的收集器是Parallel Scavenge+Serial Old(PS MarkSweep)。但根据下文的GC日志内容,估计java8使用的是Parallet Scavenge+Parallel Old收集器。
在这里插入图片描述

1.3 eclipse.ini

默认最小堆大小256M,最大堆大小1G。

-vm
C:/Program Files/Java/jdk1.8.0_45/bin/javaw.exe
-startup
plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.300.v20150602-1417
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.7
-Xms256m
-Xmx1024m
-Dcom.sun.management.jmxremote

1.4 eclipse启动情况

《深入理解Java虚拟机》中写了个Eclipse插件来计算启动时间,我是用肉眼看的,所以会有一两秒的误差,粗略估计启动时间为16秒。
从下面的图可以看出:
最大堆容量经过了多次扩大;
JIT编译时间和类加载时间都比较多;
垃圾手机总耗时0.981秒,其中7次Mainor GC耗时0.215秒,4次Full GC耗时0.766秒。

在这里插入图片描述
在这里插入图片描述

1.5 GC日志

在eclipse.ini中添加虚拟机参数:-XX:+PrintGCTimeStamps、-XX:+PrintGCDetails、-Xloggc:gc.log以打印GC日志。
下面是运行启动4分多钟后的GC日志,可以看出触发GC的主要原因是新生代和元空间的初始空间不足,最后新生代需要150M以上的空间,元空间需要100M以上的空间。且主要集中在20秒前,之后很少发生GC。

Java HotSpot(TM) 64-Bit Server VM (25.45-b02) for windows-amd64 JRE (1.8
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值