3

基本的に、Centos 6.2 16GB システムでマインクラフト サーバーを実行しています。

サーバーを起動するために rtoolkit を介して起動し、12GB を使用するように割り当てましたが、それ以上の量を使用しており、その理由がわかりません。次のコマンドを実行して、jar ファイルを実行します。

java -Xmx30M -Xms30M -XX:MaxPermSize=40M -jar Minecraft_RKit.jar USER:PASS

次に、次のコマンドでプロセスを実行します。

java -Xms12288M -Xmx12288M -Djline.terminal=jline.UnsupportedTerminal -jar /home/craftbukkit.jar nogui

Webmin モジュールを見ると、正確に 18025792 kB の RAM を使用していることがわかります。私が割り当てたよりもはるかに多く。これにより、プロセスが非常に多くのメモリを使用するようになり、システムがクラッシュするだけです。

ここで愚かな間違いを犯している可能性がありますが、誰かがこの状況に光を当てることができれば本当に感謝しています.

どうもありがとう。

4

3 に答える 3

3

JVM の他のいくつかのメモリ コンシューマ:

  • 64 ビット OS では、各スレッドに少なくとも MiB のメモリが必要です。5,000 スレッド (可能性は低いですが、これがサーバーの場合) は、割り当てられたヒープの 12 GiB と使用済みメモリの 17 GiB の間のギャップを埋めることができます。

  • ネイティブ コードには独自のヒープがあります

  • PermGen 設定が 2 番目のコマンド ラインに記載されていません

于 2012-07-22T11:26:06.767 に答える
0

別の考えられる説明 (スレッド スタック、permgen、ネイティブ ヒープに加えて) は、Minecraft サーバーが大きなメモリ マップ ファイルなどを使用している可能性があることです。

于 2012-07-22T12:19:09.403 に答える
0

最大ヒープ サイズを設定しています。多くの場合、これは最大ですが、すべてのメモリ使用量ではありません。

スレッド ローカル スタック (大量にある場合、合計すると GB になる可能性があります)、共有ライブラリ コード、および C ライブラリによって使用されるメモリがあります。

ところで、16 GB は 17,179,000,000 バイトです。

于 2012-07-22T11:26:19.390 に答える