Java虚拟机无法识别-XX:G1YoungGenSize?

6

我正在使用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日的快照)中出现问题。

有人知道是什么原因导致了这个错误吗?


请问您能否发布 java -version 的结果? - The Alchemist
当然,它可以使用以下版本:java version "1.6.0_20" Java(TM) SE Runtime Environment (build 1.6.0_20-b02) Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)但不支持以下任何一个版本:java version "1.7.0-ea" Java(TM) SE Runtime Environment (build 1.7.0-ea-b106) Java HotSpot(TM) 64-Bit Server VM (build 19.0-b05, mixed mode)和java version "1.6.0_21" Java(TM) SE Runtime Environment (build 1.6.0_21-b06) Java HotSpot(TM) Server VM (build 17.0-b16, mixed mode) - Cameron Balahan
不看源代码,我的猜测是 G1YoungGenSize 被移除了,可能是暂时的。-XX 选项可以做到这一点。 - The Alchemist
1个回答

6

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接