Java 17以降を使用します。
Oracle、Adoptiumなど様々なJavaランタイムがありますが、基本的には変わりありません。例外として、Oracle GraalVMが存在しています。詳細は後述を参照してください。
Oracle、Adoptiumなど様々なJavaランタイムがありますが、基本的には変わりありません。例外として、Oracle GraalVMが存在しています。詳細は後述を参照してください。
設定からJavaを開き、JVM引数の項目に追加します。
これでは全インスタンスに適応されるため、一部のみに適応させたい場合は、インスタンスを選択し、起動構成の編集→設定→Javaのインストールで、上記と同様に行います。
これでは全インスタンスに適応されるため、一部のみに適応させたい場合は、インスタンスを選択し、起動構成の編集→設定→Javaのインストールで、上記と同様に行います。
最小メモリと最大メモリは通常同じ値にするのが推奨されていますが、環境によっては同じ値にするとパフォーマンスの低下に繋がります。
RTAの場合、最大値は2000MB〜3000MBに設定するのが好ましいです。2800MB程度以上は、全実績解除などのカテゴリで、描画距離を32チャンクにするなどの場合のみに割り当てます。
RTAの場合、最大値は2000MB〜3000MBに設定するのが好ましいです。2800MB程度以上は、全実績解除などのカテゴリで、描画距離を32チャンクにするなどの場合のみに割り当てます。
G1GCに劣りますが、メモリの使用量を抑えることができ、マルチインスタンスでより多くのインスタンスを使用したい場合などに有効です。ただし、適切なCPU/GPUが必要になります。
Shenandoahを利用するにはJava 18以降が必要です。
Shenandoahを利用するにはJava 18以降が必要です。
-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGuaranteedGCInterval=1000000
GraalVMは、パフォーマンスを向上させることができるOracleの新しいJava VMです。現在はG1GCでのみ動作します。
リセットを開始した最初はパフォーマンスが通常より悪化する傾向がありますが、リセットを進めるに連れてパフォーマンスが向上します。放置することでパフォーマンスが低下しますが、引数の追加で回避できます。
リセットを開始した最初はパフォーマンスが通常より悪化する傾向がありますが、リセットを進めるに連れてパフォーマンスが向上します。放置することでパフォーマンスが低下しますが、引数の追加で回避できます。
-XX:+UnlockExperimentalVMOptions -XX:+AlwaysPreTouch -XX:+ExplicitGCInvokesConcurrent -XX:MaxGCPauseMillis=20 -XX:ParallelGCThreads=20 -Dgraal.TuneInlinerExploration=-1 -XX:+UseCriticalJavaThreadPriority -XX:NmethodSweepActivity=1AlwaysPreTouchは上記に既に含まれている点に注意してください。
- CPUのスレッド数が24未満の場合は、ParallelGCThreadsを削除、MaxGCPauseMillisを30~40程度にします
- NmethodSweepActivityの値を1にすることで、放置によるパフォーマンスの低下がなくなります
- 最適とされているのは、Java 17 (EE)です
以下は、Jultiを用いる場合になります。
- すべてのインスタンスをリセットし、各ワールドに一度入る(初回特有のラグを解消)
- プラグインから、Benchmarkを開く
- RPSの上昇が止まるまで、2000 Reset Goalでベンチマークを2〜4回程度実行
コメントをかく