我正在尝试使用 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
此收集器在 JDK 9 中已弃用,并在 JDK 10 中删除。
https://bugs.openjdk.java.net/browse/JDK-8151084
新的默认设置是 G1 收集器,我建议您看看这是否适合您的需求。
我在elasticsearch 中遇到了同样的错误。所以解决这个问题最好的办法就是。
奔跑
sudo nano /usr/share/elasticsearch/bin/elasticsearch.in.sh
并注释掉 VM arg
#ES_GC_OPTS="$ES_GC_OPTS -XX:+UseParNewGC"
我通过运行以下命令遇到了同样的问题,它得到了解决
设置JAVA_PARAMETERS=-XX:+UseG1GC
如果您确实想使用 CMS,请使用
-XX:+UseConcMarkSweepGC
。
IF you are using above Java8 then change to variable to java8 else create one bat file and set java8 like below then run Cassandra.
@ECHO OFF
SET "JAVA_HOME= Java8 home path"
SET "path=JAVA_HOME\bin"
echo JAVA_HOME: %JAVA_HOME%
echo path: %path%
Now navigate to Cassandra folder then run Cassandra bat file
Enjoy using Cassandra **:)**