Javaサーバーアプリケーションは、割り当てられた最大メモリよりも多くのRAMを消費します!

Javaサーバーアプリケーションは、割り当てられた最大メモリよりも多くのRAMを消費します!

ホスティング中JavaサーバーアプリケーションLinuxルートサーバーから。

私の問題は時々サーバー割り当てられた最大値よりも多くのRAMを占有します。、これはプロセスを自動的に終了(衝突)します。

これは私の起動スクリプトです。

nohup java -Xmx900m -Xms900m -XX:MaxPermSize=128m -jar -Xss1m jar-file.jar &

ご覧のとおり、最小、最大RAM(-Xms900、-Xmx900m)も設定しておいたので問題ないようです。

私が間違っていることを知っている人はいますか?もしそうなら、「改善された起動スクリプト」を教えてください。

幸運、イシドレス

答え1

実際、XmsとXmxはヒープサイズの制限を決定しますが、他のメモリ領域もあります。スタック(Xss xスレッド数)+ PermGen + CodeCache(Java 7のデフォルト値48MB)+ダイレクトメモリ。

一般的に仕様がなければ、約1/2 GB以上になります。

関連情報