锁定老帖子 主题:优化JVM参数提高eclipse运行速度
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2010-09-07
skzr.org 写道 感谢楼主分享
我现在的配置 ubuntu10.04 64bit, Intel core2 P8400, 4G mem,eclipse galileo -vmargs -Dosgi.requiredJavaVersion=1.5 -Xmn196m -Xms512m -Xmx1536m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:ReservedCodeCacheSize=256m -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -verbose:gc -Xloggc:gc.log 配置后,启动速度差不多,不过里面点东西的时候,eclipse响应的速度超快 好像Xmn参数不起作用,gc.log输出 8.078: [GC [PSYoungGen: 150528K->25058K(175616K)] 150528K->30747K(499200K), 0.1307120 secs] [Times: user=0.09 sys=0.03, real=0.13 secs] 13.100: [GC [PSYoungGen: 175586K->25057K(175616K)] 181275K->43679K(499200K), 0.2308440 secs] [Times: user=0.17 sys=0.05, real=0.23 secs] 138.857: [GC [PSYoungGen: 175585K->25076K(175616K)] 194207K->65302K(499200K), 0.1117250 secs] [Times: user=0.18 sys=0.01, real=0.12 secs] 有一个疑问,如果楼主方便可以帮助我分析分析?感谢您 ![]() 如果加上参数:-XX:+DisableExplicitGC,MyEclipse会弹出来一个东西:就是那个内存不够的,需要配置的东西 Heap PSYoungGen total 175616K, used 95224K [0x00007f0eb4ba0000, 0x00007f0ec0fa0000, 0x00007f0ec0fa0000) eden space 150528K, 46% used [0x00007f0eb4ba0000,0x00007f0eb9021078,0x00007f0ebdea0000) from space 25088K, 99% used [0x00007f0ebdea0000,0x00007f0ebf71d0f0,0x00007f0ebf720000) to space 25088K, 0% used [0x00007f0ebf720000,0x00007f0ebf720000,0x00007f0ec0fa0000) PSOldGen total 323584K, used 40226K [0x00007f0e60fa0000, 0x00007f0e74ba0000, 0x00007f0eb4ba0000) object space 323584K, 12% used [0x00007f0e60fa0000,0x00007f0e636e8a08,0x00007f0e74ba0000) PSPermGen total 262144K, used 65602K [0x00007f0e50fa0000, 0x00007f0e60fa0000, 0x00007f0e60fa0000) object space 262144K, 25% used [0x00007f0e50fa0000,0x00007f0e54fb0bd8,0x00007f0e60fa0000) 目前我都是去掉此参数-XX:+DisableExplicitGC,后台的GC输出都是下面的东西: 407.541: [Full GC (System) [PSYoungGen: 64K->0K(149248K)] [PSOldGen: 85741K->85742K(323584K)] 85805K->85742K(472832K) [PSPermGen: 96914K->96914K(262144K)], 0.5234640 secs] [Times: user=0.51 sys=0.00, real=0.53 secs] 1.-Xmn起作用了啊 每个GC日志都是(175616K) 这就是你设定好的 而不是jvm动态调整的 2.大概看一下貌似是from space 25088K, 99% used 的问题 你可以调大-Xmn 这样Survivor区也会跟着大,或者是调小-XX:SurvivorRatio=X 的值,这样Survivor区也会大,具体怎样做好要看具体情况 3.去掉-XX:+DisableExplicitGC 就是允许执行System.gc(),也就是允许程序来控制执行full gc,也就会打出 Full GC (System) |
|
返回顶楼 | |
发表时间:2010-09-07
snake1987 写道 授人以鱼不如授人以渔
楼主,能介绍下学习调优,需要一些什么基础知识吗?能介绍一些相关的经典书籍吗? 谢谢了 这本书 http://book.douban.com/subject/4848587/ |
|
返回顶楼 | |
发表时间:2010-09-07
还真没有想过是gc导致启动速度慢的。楼主有想法。
|
|
返回顶楼 | |
发表时间:2010-09-07
这个不得不支持一下lz,以前eclipse慢了,只会想到内存问题
|
|
返回顶楼 | |
发表时间:2010-09-07
感谢beckrabbit的帮助
beckrabbit 写道 1.-Xmn起作用了啊 每个GC日志都是(175616K) 这就是你设定好的 而不是jvm动态调整的 2.大概看一下貌似是from space 25088K, 99% used 的问题 你可以调大-Xmn 这样Survivor区也会跟着大,或者是调小-XX:SurvivorRatio=X 的值,这样Survivor区也会大,具体怎样做好要看具体情况 3.去掉-XX:+DisableExplicitGC 就是允许执行System.gc(),也就是允许程序来控制执行full gc,也就会打出 Full GC (System) 1. 对于下面的没看懂,以为-Xmn没有起作用 ![]() 10.108: [GC [PSYoungGen: 175588K->25061K(175616K)] 181276K->40682K(761344K), 0.1188080 secs] [Times: user=0.16 sys=0.02, real=0.12 secs] 2. -XX:SurvivorRatio=8目前看,一切非常完美 3. 其实无所谓了,MyEclipse那个东西,估计有问题,我点确定后,eclipse一切正常 哈哈,beckrabbit的分享,让我的eclipse真正飞起来了 ![]() |
|
返回顶楼 | |
发表时间:2010-09-07
p8400 2G win7
我的参数: -Xmn196m -Xms512m -Xmx512m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:ReservedCodeCacheSize=128m 大概20多秒吧, 没有用 -XX:+DisableExplicitGC , 因为发现用了后,更慢,得100多秒 应该有需要 gc 一下的 |
|
返回顶楼 | |
发表时间:2010-09-07
确实很有效的配置~
按照楼主的方式调整以后gc条数极大减少 |
|
返回顶楼 | |
发表时间:2010-09-07
楼主,我加上-Xmn512m这句后。myeclipse就启动不了了,怎么回事?
顺便赞一个,启动的时候确实快了不少,感觉闪一下就启动完了~~ |
|
返回顶楼 | |
发表时间:2010-09-07
有没有 多核处理器下并行垃圾收集参数
-XX:+UseParallelGC |
|
返回顶楼 | |
发表时间:2010-09-07
CosmosWon 写道 楼主,我加上-Xmn512m这句后。myeclipse就启动不了了,怎么回事?
顺便赞一个,启动的时候确实快了不少,感觉闪一下就启动完了~~ -Xmn是年轻代,一般不要超过堆大小(-Xms和-Xmx)的一半,你的512m明显太大了 |
|
返回顶楼 | |