一招教你快速运行Eclipse

原创|行业资讯|编辑:郝浩|2014-06-16 15:52:12.000|阅读 152 次

概述:本文介绍了一种为快速开启Eclipse所进行的配置方法。

我们当中许多使用过 Eclipse 的同学是否都有过这样的经历:每次开启或者想关闭Eclipse的时候,面对漫长的等待,心里都郁闷得想骂一句:“我X”!你知道为什么每次启动Eclipse都这么慢么?是因为我们在安装了太多的插件或者是我们创建的项目太多太大了?不,都不是!事实上,很多时候都是因为我们的配置不合理。那么,我们到哪里进行这样的配置呢?答案就是去 eclipse.ini 。

首先,你应当将下列的文件添加到 eclipse.ini配置文件里:

-Xloggc:gc.log

这是显示Eclipse在启动的时候所做的事情。

接下来,我们就可以开始进行一些优化。这里我们举个例子,本机内存环境是3.16G。

第一次优化

设置-Xms (初始化堆大小)和-Xmx(JVM最大堆大小)为512M,以避免无用单元的重复收集(GC),下面就是配置:

-Xms512m
-Xmx512m

-verbose:gc
-XX:+PrintGCDateStamps
-XX:+PrintGCDetails
-Xloggc:gc.log

现在重新启动 Eclipse,我们会发现监控了8次完整的GC和3次超时的GC,日志是这样:

1
2014-06-09T20:39:00.480+0800: 1.850: [GC 1.850: [DefNew: 139776K->17472K(157248K), 0.0613123 secs] 139776K->20106K(506816K), 0.0614226 secs] [Times: user=0.06 sys=0.00, real=0.06 secs]
2
2014-06-09T20:39:01.214+0800: 2.597: [Full GC 2.597: [Tenured: 2634K->35922K(349568K), 0.1242231 secs] 81163K->35922K(506816K), [Perm : 16383K->16383K(16384K)], 0.1243415 secs] [Times: user=0.11 sys=0.01, real=0.13 secs]
3
2014-06-09T20:39:01.698+0800: 3.075: [Full GC 3.075: [Tenured: 35922K->38486K(349568K), 0.1086032 secs] 121915K->38486K(506816K), [Perm : 20479K->20479K(20480K)], 0.1087152 secs] [Times: user=0.11 sys=0.00, real=0.11 secs]
4
2014-06-09T20:39:02.026+0800: 3.408: [Full GC 3.408: [Tenured: 38486K->39671K(349568K), 0.1166902 secs] 52893K->39671K(506816K), [Perm : 24575K->24575K(24576K)], 0.1168707 secs] [Times: user=0.13 sys=0.00, real=0.13 secs]
5
2014-06-09T20:39:02.558+0800: 3.926: [Full GC 3.926: [Tenured: 39671K->41312K(349568K), 0.1572323 secs] 57131K->41312K(506816K), [Perm : 28671K->28650K(28672K)], 0.1573102 secs] [Times: user=0.16 sys=0.00, real=0.16 secs]
6
2014-06-09T20:39:03.276+0800: 4.653: [Full GC 4.653: [Tenured: 41312K->44308K(349568K), 0.1656481 secs] 87405K->44308K(506816K), [Perm : 32767K->32767K(32768K)], 0.1657328 secs] [Times: user=0.17 sys=0.00, real=0.17 secs]
7
2014-06-09T20:39:04.058+0800: 5.439: [GC 5.439: [DefNew: 139776K->17472K(157248K), 0.0356182 secs] 184084K->62657K(506816K), 0.0357149 secs] [Times: user=0.05 sys=0.00, real=0.05 secs]
8
2014-06-09T20:39:04.105+0800: 5.475: [GC 5.475: [DefNew: 19934K->7K(157248K), 0.0245383 secs] 65119K->62662K(506816K), 0.0246034 secs] [Times: user=0.02 sys=0.00, real=0.02 secs]
9
2014-06-09T20:39:04.136+0800: 5.507: [Full GC 5.507: [Tenured: 62654K->62672K(349568K), 0.1803366 secs] 68235K->62672K(506816K), [Perm : 36863K->36863K(36864K)], 0.1804263 secs] [Times: user=0.17 sys=0.00, real=0.17 secs]
10
2014-06-09T20:39:04.839+0800: 6.215: [Full GC 6.215: [Tenured: 62672K->64003K(349568K), 0.2267431 secs] 198067K->64003K(506816K), [Perm : 40959K->40959K(40960K)], 0.2268157 secs] [Times: user=0.23 sys=0.00, real=0.23 secs]
11
2014-06-09T20:39:06.417+0800: 7.796: [Full GC 7.796: [Tenured: 64003K->71144K(349568K), 0.3148881 secs] 182608K->71144K(506816K), [Perm : 45055K->45035K(45056K)], 0.3149710 secs]

从日志中我们可以看到引发完整GC的原因是 Perm,我们可以继续做一些优化。

第二次优化

我们可以设置 Perm尺寸的初始值和最大值为512M:

-Xms512m
-Xmx512m
-XX:PermSize=512m
-XX:MaxPermSize=512m

-verbose:gc
-XX:+PrintGCDateStamps
-XX:+PrintGCDetails
-Xloggc:gc.log

记录的日志为这样:

1
2014-06-09T20:43:29.442+0800: 1.872: [GC 1.872: [DefNew: 139776K->17472K(157248K), 0.0614285 secs] 139776K->20106K(506816K), 0.0615441 secs] [Times: user=0.06 sys=0.00, real=0.06 secs]
2
2014-06-09T20:43:30.426+0800: 2.852: [GC 2.852: [DefNew: 157248K->17472K(157248K), 0.0714705 secs] 159882K->37813K(506816K), 0.0715851 secs] [Times: user=0.06 sys=0.02, real=0.08 secs]
3
2014-06-09T20:43:32.176+0800: 4.608: [GC 4.608: [DefNew: 157248K->17472K(157248K), 0.0846898 secs] 177589K->59609K(506816K), 0.0848035 secs] [Times: user=0.09 sys=0.00, real=0.09 secs]
4
2014-06-09T20:43:32.676+0800: 5.099: [GC 5.099: [DefNew: 157248K->3513K(157248K), 0.0443054 secs] 199385K->63063K(506816K), 0.0444509 secs] [Times: user=0.05 sys=0.00, real=0.05 secs]
5
2014-06-09T20:43:33.285+0800: 5.705: [GC 5.705: [DefNew: 143289K->10365K(157248K), 0.0427973 secs] 202839K->69914K(506816K), 0.0428756 secs]

这里不再有完整的GC了,但是我们仍然看到有5个小的GC,这是因为我们没有对-Xmn进行设置。

第三次优化

设置-Xmn为256M,日志为下图:

1
2014-06-09T20:45:29.204+0800: 2.500: [GC 2.500: [DefNew: 209792K->26176K(235968K), 0.0951747 secs] 209792K->35901K(498112K), 0.0952914 secs] [Times: user=0.09 sys=0.00, real=0.09 secs]
2
2014-06-09T20:45:31.220+0800: 4.515: [GC 4.515: [DefNew: 235968K->22389K(235968K), 0.1084576 secs] 245693K->58147K(498112K), 0.1085766 secs] [Times: user=0.11 sys=0.00, real=0.11 secs]
3
2014-06-09T20:45:32.001+0800: 5.302: [GC 5.302: [DefNew: 232181K->5280K(235968K), 0.0570383 secs] 267939K->63248K(498112K), 0.0571581 secs]

只剩下3个小的GC了。

最后的配置为:

-Xmn256m
-Xms512m
-Xmx512m
-XX:PermSize=512m
-XX:MaxPermSize=512m
-verbose:gc
-XX:+PrintGCDateStamps
-XX:+PrintGCDetails
-Xloggc:gc.log

希望这种方法能够帮助你,如果你有更好的方法,请记得与我们分享

 

本文翻译自:Want to make your Eclipse run faster? Try this>>



标签:Eclipse

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
在线
客服
在线
QQ
电话
咨询
400-700-1020
购物车 反馈 返回
顶部
在线客服系统
live chat