论坛首页 Java企业应用论坛

优化JVM参数提高eclipse运行速度

浏览 94899 次
该帖已经被评为精华帖
作者 正文
   发表时间: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)
0 请登录后投票
   发表时间:2010-09-07  
snake1987 写道
授人以鱼不如授人以渔
楼主,能介绍下学习调优,需要一些什么基础知识吗?能介绍一些相关的经典书籍吗?
谢谢了

这本书
http://book.douban.com/subject/4848587/
0 请登录后投票
   发表时间:2010-09-07  
还真没有想过是gc导致启动速度慢的。楼主有想法。
0 请登录后投票
   发表时间:2010-09-07  
这个不得不支持一下lz,以前eclipse慢了,只会想到内存问题
0 请登录后投票
   发表时间: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真正飞起来了

0 请登录后投票
   发表时间:2010-09-07  
p8400 2G win7

我的参数:
-Xmn196m 
-Xms512m 
-Xmx512m 
-XX:PermSize=512m 
-XX:MaxPermSize=512m 
-XX:ReservedCodeCacheSize=128m

大概20多秒吧,

没有用 -XX:+DisableExplicitGC , 因为发现用了后,更慢,得100多秒

应该有需要 gc 一下的
0 请登录后投票
   发表时间:2010-09-07  
确实很有效的配置~
按照楼主的方式调整以后gc条数极大减少
0 请登录后投票
   发表时间:2010-09-07  
楼主,我加上-Xmn512m这句后。myeclipse就启动不了了,怎么回事?
顺便赞一个,启动的时候确实快了不少,感觉闪一下就启动完了~~
0 请登录后投票
   发表时间:2010-09-07  
有没有 多核处理器下并行垃圾收集参数
-XX:+UseParallelGC
0 请登录后投票
   发表时间:2010-09-07  
CosmosWon 写道
楼主,我加上-Xmn512m这句后。myeclipse就启动不了了,怎么回事?
顺便赞一个,启动的时候确实快了不少,感觉闪一下就启动完了~~

-Xmn是年轻代,一般不要超过堆大小(-Xms和-Xmx)的一半,你的512m明显太大了
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics