Oracle OpenJavaからGraalVM Enterprise Editionに変更して、Mainecraft Server PurpurのAvr.tickのリデュース。Reducing Avr.tick from Minecraft Server Purpur by changing from Oracle OpenJava to GraalVM Enterprise Edition.

Javaは古く遅いもの・・・ということから少しずつ改善はされているようです。
今回は、PurpurサーバのAvr.Tick Timeをリデュースしてみます。
まず以下から、GraalVM Enterprise Editionをダウンロードします。
Java is old and slow, but it seems to be improving little by little.
This time, I reduced “Avr.Tick Time" on the Purpur server.
First, download “GraalVM Enterprise Edition" from below.

https://www.oracle.com/downloads/graalvm-downloads.html

無料の登録しないとこのファイルはダウンロードできませんので登録後に、ログインダウンロードしてください。
You cannot download this file unless you register for free, so please log in and download after registering.

執筆現在は、
graalvm-ee-java17-linux-amd64-22.3.4.tar.gz
が入手できました。
At the time of writing,
“graalvm-ee-java17-linux-amd64-22.3.4.tar.gz"
I got that tar.gz file now.

手動でインストールしていきます。また「Altanatives」で選択可能にしておきます。
We will install it manually. Also, make it selectable in “Altanatives".

$ cd ~/ダウンロード
..or cd ~/Downloads
$ sudo mkdir -p /usr/lib/jvm/graalvm-ee-java17-linux-amd64
$ sudo tar zxvf graalvm-ee-java17-linux-amd64-22.3.4.tar.gz -C /usr/lib/jvm/graalvm-ee-java17-linux-amd64 --strip-components=1
$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/graalvm-ee-java17-linux-amd64/bin/java 1017
$ sudo update-alternatives --config java
-----
And select tha number of /usr/lib/jvm/graalvm-ee-java17-linux-amd64/bin/java
そして、/usr/lib/jvm/graalvm-ee-java17-linux-amd64/bin/javaの番号の数字を選択します。

Javaのバージョンを確認してみてください。

$ java -version
java version "17.0.9" 2023-10-17 LTS
Java(TM) SE Runtime Environment GraalVM EE 22.3.4 (build 17.0.9+11-LTS-jvmci-22.3-b28)
Java HotSpot(TM) 64-Bit Server VM GraalVM EE 22.3.4 (build 17.0.9+11-LTS-jvmci-22.3-b28, mixed mode, sharing)

この場合のJavaの引数には、明示的に-XX:+UseJVMCICompilerオプションを付けるといいと思います。
例は以下のようになります。
In this case, I think it would be a good idea to explicitly add the -XX:+UseJVMCICompiler option to the Java argument.
An example would be:

java -server -Xmx12G -Xms10G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:MaxGCPauseMillis=50 -XX:G1NewSizePercent=20 -XX:G1MaxNewSizePercent=60 -XX:MetaspaceSize=512M -XX:MaxMetaspaceSize=512M -XX:+UseCompressedOops -XX:CompressedClassSpaceSize=512M -XX:G1HeapRegionSize=32M -XX:ParallelGCThreads=4 -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler -jar purpur-1.20.1-2062.jar

24->18msへ、35->30msくらいの違いがありました。割合で変わるため小さい場合はあまり効果が出ません。

There was a difference of about 24->18ms and 35->30ms. Since it changes depending on the ratio, it will not be very effective if it is small.

 

 

 

 

 

未分類

Posted by masterkudo