2012-04-25 405 views
5

我使用java -Xms20m -Xmx20m -Xmn10m -XX:+PrintGCDetails -XX:SurvivorRatio=8 GCTest 来设置存活比率,但它不起作用! 的GCDetail打印以下数据:使用JVM GC参数-XX:SurvivorRatio = 8不工作

[GC [PSYoungGen: 7495K->144K(9216K)] 7495K->144K(19456K), 0.0010500 secs] [Times: user=0.01 sys=0.00, real=0.00 secs] 
[GC [PSYoungGen: 7561K->120K(9216K)] 7561K->120K(19456K), 0.0007090 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
[GC [PSYoungGen: 7344K->128K(9216K)] 7344K->128K(19456K), 0.0009420 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] 
[GC [PSYoungGen: 7333K->128K(9216K)] 7333K->128K(19456K), 0.0004850 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
[GC [PSYoungGen: 7320K->128K(9216K)] 7320K->128K(19456K), 0.0010080 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
[GC [PSYoungGen: 7312K->128K(10048K)] 7312K->128K(20288K), 0.0009700 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] 
[GC [PSYoungGen: 9356K->0K(10048K)] 9356K->116K(20288K), 0.0009580 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
[GC [PSYoungGen: 9224K->0K(10048K)] 9340K->116K(20288K), 0.0003100 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
[GC [PSYoungGen: 9221K->0K(10048K)] 9337K->116K(20288K), 0.0002790 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
[GC [PSYoungGen: 9219K->0K(9920K)] 9335K->116K(20160K), 0.0004440 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
[GC [PSYoungGen: 9218K->0K(9984K)] 9334K->116K(20224K), 0.0003780 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
[GC [PSYoungGen: 9218K->0K(9984K)] 9334K->116K(20224K), 0.0003980 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
Heap 
PSYoungGen  total 9984K, used 5316K [0xb2e00000, 0xb3800000, 0xb3800000) 
    eden space 9728K, 54% used [0xb2e00000,0xb3331300,0xb3780000) 
    from space 256K, 0% used [0xb37c0000,0xb37c0000,0xb3800000) 
    to space 256K, 0% used [0xb3780000,0xb3780000,0xb37c0000) 
PSOldGen  total 10240K, used 116K [0xb2400000, 0xb2e00000, 0xb2e00000) 
    object space 10240K, 1% used [0xb2400000,0xb241d060,0xb2e00000) 
PSPermGen  total 16384K, used 1759K [0xae400000, 0xaf400000, 0xb2400000) 
    object space 16384K, 10% used [0xae400000,0xae5b7f70,0xaf400000) 

“从”和“到”刚256K,我应该是1024K和伊甸已8192K 难道我给一个错误的ARGS?

的Java版本是:

java version "1.6.0_27" 
Java(TM) SE Runtime Environment (build 1.6.0_27-b07) 
Java HotSpot(TM) Server VM (build 20.2-b06, mixed mode) 

操作系统:Ubuntu的11.10

+0

如果没有-Xmn10m重新运行会发生什么? – kittylyst 2012-04-27 03:18:14

回答

3

-XX:SurvivorRatio被忽略,除非你使用-XX-UseAdaptiveSizePolicy

需要禁用UseAdaptiveSizePolicy,以便您可以自行设置存活空间的大小。

另请参阅Java Hotspot VM optionsJava Performance书解释所有的论点。