先日のメモリを増設するべきかという点について
JVMの引数を改善するという手法が正攻法であり、メモリ増設は最後の手段という金言があった。
確かに金で解決するのは容易いが、頭使いましょうということで。
なので調べてみたところ、ガベージコレクションは奥が深いということであった。
ガベージコレクションのアルゴリズムはいろいろあるが、コンカレントGCというのとG1GCというのがメジャーな様子。
うちのパソコンではG1GCはどうも調子が悪くてフリーズが頻発するのでコンカレントGCを使っている。
しかしその中でも複数スレッドでガベージコレクションしたり、バックグラウンドで行ったりする設定があるとのこと。
-XX:+CMSParallelRemarkEnabled とか、-XX:+UseParNewGC とか
あとはyoung領域とold領域の使い方によってガベージコレクションの走り方が変わってくるようで。
などなど。
なかなか結構な塩梅でありましたが、もやもやといろいろ試したところこんな具合でメモリの使用率とガベージコレクションの走りになるようになった。
minecraftの起動からセーブデータを読み込んで、しばらく移動した状態をGCViwerで見たところ。
FullGCは走ってないのでたぶんいい調子と思われる。
黄色がyoung領域、マゼンダがold領域である。
youngの上下が激しいのと、oldはまだ余裕があるのでNewRatioを下げて、youngの領域をもっと増やせるかもね。
緑の線のGC timesがたまにめちゃくちゃ上がるのは何かまだよくわからない。
そうしてJVMの引数は以下のようになっている。
-Xmx7500M -Xms7500M -XX:NewRatio=7 -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseParNewGC -XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing -XX:+DisableExplicitGC -XX:MaxTenuringThreshold=15 -XX:TargetSurvivorRatio=95 -XX:CMSInitiatingOccupancyFraction=60 -XX:+UseCMSInitiatingOccupancyOnly -XX:+AggressiveOpts
関連記事:
- AdventureNoteで倒したmobを記録する - [2024年6月27日]
面白いMODを見つけたのである。 AdventureNoteというもの。最近リリースされた様子。 これは倒したmobやボ…
コメント(0)
コメントを受け付けておりません。