我正在使用JDK1.7.0的G1垃圾收集器,但虛擬機無法識別選項G1YoungGenSize。特別是,當我運行:Java虛擬機無法識別-XX: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'的結果嗎? – 2010-08-24 15:40:17
當然。它的工作原理如下: Java版本「1.6.0_20」 Java™SE運行時環境(版本1.6.0_20-b02) Java HotSpot™64位服務器虛擬機(版本16.3-b01,混合模式) 但它不與任一工作: Java版本 「1.7.0-EA」 的Java(TM)SE運行時環境(建立1.7.0-EA-B106) 的HotSpot的Java(TM)64位服務器VM(構建19.0-B05,混合模式) 和 Java版本 「1.6.0_21」 的Java(TM)SE運行時環境(建立1.6.0_21-B06) 爪哇的HotSpot(TM)服務器VM(17.0構建-b16,混合模式) – 2010-08-25 20:11:16
沒有看源代碼,我的猜測是'G1YoungGenSize'被刪除,可能是暫時的。 '-XX'選項可以做到這一點。 – 2010-08-26 13:26:39