无法识别的VM选项'UseParNewGC',错误:无法创建Java虚拟机

Jav*_*113 14 jvm jvm-crash java-10

我正在尝试使用jre 10.0.1 64位启动服务器.Windows启动批处理文件中的JVM设置有明显变化.通过设置-XX:+UseParNewGC 作为错误的参考点,为了使JVM服务器从java 10开始,而不是我已经显示的java 8设置,需要将其更改为什么?

导致错误引用的代码行是:

set JAVA_PARAMETERS=-XX:+UseParNewGC -XX:+CMSIncrementalPacing -XX:+CMSClassUnloadingEnabled -XX:ParallelGCThreads=2 -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10
Run Code Online (Sandbox Code Playgroud)

Pet*_*rey 15

此收集器在JDK 9中已弃用,在JDK 10中已删除.

https://bugs.openjdk.java.net/browse/JDK-8151084

新的默认设置是G1收集器,我建议你看看它是否适合你的需求.

  • 该标志已删除,但未删除收集器。选择CMS时,ParNew是年轻代的默认收集器。 (4认同)

kom*_*ten 8

跟随彼得的回答,旗帜是

-XX:+UseG1GC
Run Code Online (Sandbox Code Playgroud)

Oracle所述


小智 7

我在 elasticsearch 中遇到了同样的错误。所以最好的办法就是解决。

sudo nano /usr/share/elasticsearch/bin/elasticsearch.in.sh
Run Code Online (Sandbox Code Playgroud)

并注释掉 VM arg

#ES_GC_OPTS="$ES_GC_OPTS -XX:+UseParNewGC"
Run Code Online (Sandbox Code Playgroud)