Java VM无法识别-XX:G1YoungGenSize?

时间:2010-08-23 05:38:57

标签: java garbage-collection g1gc

我正在使用带有JDK1.7.0的G1垃圾收集器,但VM无法识别选项G1YoungGenSize。具体来说,当我跑:

java -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1YoungGenSize=512m ...

我收到以下错误:

Unrecognized VM option 'G1YoungGenSize=512m'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

我还在G1YoungGenSize之前尝试了一个“+”符号,因为一些G1文档以这种方式列出:

java -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:+G1YoungGenSize=512m ...

但我得到同样的错误。

我尝试过较旧的JDK,包括1.6更新18到21.似乎G1YoungGenSize通过更新20识别,并从21开始到最新的1.7版本(2010年8月19日的快照)中断。

有谁知道可能导致此错误的原因?

1 个答案:

答案 0 :(得分:6)

这看起来大约在6个月前发生了变化:

6928065:G1:使用现有命令行参数设置年轻代的大小 http://hg.openjdk.java.net/jdk7/jdk7/hotspot/rev/a1c410de27e4

此处对1.6所做的更改:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6928065

  

为了与其他GC保持一致,G1应观察UseAdaptiveSizePolicy以决定是否自动调整年轻代的大小。 NewSize / MaxNewSize(以及-Xmn)应该规定初始最大尺寸。