3

1GB 保証 RAM と 4GB バースト可能 RAM を備えた vServer で Java に依存する Minecraft サーバーを実行しています。

Debian 6.0 (Squeeze) Minimal (64Bit) を、実際の Minecraft サーバーと並行して、php/mySQL を使用する lighttpd Web サーバーで実行します。現在、1 GB の保証 RAM 内に収まるようにすべてを設定していますが、バースト可能な RAM をこの方法で利用していないように見えます。

現在、サーバーには次の文字列がロードされています。

 /opt/java/jre/bin/java -Xmx880M -Xms880M
                        -XX:+UseConcMarkSweepGC
                        -XX:+CMSIncrementalPacing
                        -XX:ParallelGCThreads=2
                        -XX:+AggressiveOpts
                        -jar craftbukkit.jar nogui

マインクラフト用に 880M を割り当て (と思いますか?)、残りはシステムや Web サーバーなどのために予約されています。このセットアップを最適化するにはどうすればよいでしょうか? この初期起動を 1GB を超えてバースト可能な RAM に十分に割り当てることは理にかなっていますか? ピーク時に必要なときに 880M 以上を割り当て、最大 4GB にするなど、Java またはシステムがこれを処理する方法はありますか? バースト可能な RAM は保証されていないため、必要なときに利用できない場合はどうなりますか? ありがとう!

4

2 に答える 2

1

このセットアップを最適化するにはどうすればよいでしょうか?

場合によります。最初に、このプロセスのメモリ使用量をプロファイリングする必要があります。追加

-verbose:gc:file=gc_results.out

コマンドラインに。HPjmeterなどのツールを使用して、結果の gc データファイルを開くことができます。平均/ピーク時のメモリ使用量に基づいてヒープを調整する必要があります。「最適」なすべてのポリシーに適合する 1 つのサイズはありません。まず、ガベージ コレクションに平均でどれくらいの時間を費やしているかを調べます。目安としては < 7% です。どのくらいの頻度でフル GC をトリガーしていますか? ヒープは寿命の長いオブジェクトでいっぱいですか、それとも寿命の短いオブジェクトでいっぱいですか? これらの質問は、意思決定の原動力となるはずです。

于 2011-08-02T20:38:30.383 に答える
0

サーバーは、割り当てられた最大 RAM を使用してほとんどの時間を費やします。「バースト可能な」RAM についての私の理解は、それを当てにしないでください。この場合、JVM がバースト可能な RAM にハングアップすることは望ましくありません。指定した構成はほぼ正しいようです。

于 2011-08-02T20:38:36.980 に答える