Eclipse教程 运行Eclipse很慢解决方法

时间:2015-05-062775举报小编:admin

    eclipse开启或者关闭时花费的时间很长,怎么才能快速运行Eclipse?下面未来小编就带大家一起来看看快速开启Eclipse配置(eclipse.ini)操作步骤教程。

    为什么运行Eclipse很慢
    你知道为什么每次启动Eclipse都这么慢么?是因为我们在安装了太多的插件或者是我们创建的项目太多太大了?不,都不是!事实上,很多时候都是因为我们的配置不合理。那么,我们到哪里进行这样的配置呢?答案就是去 eclipse.ini 。

    快速开启Eclipse配置操作步骤
    首先,你应当将下列的文件添加到 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
    希望以上方法能够帮助到大家。