bash スクリプトから Java プログラムを実行すると、しばらくして次のメッセージが表示されます。
MyProgram.bash: line 30: 4388 Killed
私はbashのパラメータを最大にします:
ulimit -Ss unlimited
ulimit -Sc unlimited
ulimit -Sn 4096
しかし、実行後にCTRL + Cを作成すると、次のエラーが発生します:
OpenJDK 64-Bit Server VM warning: Exception java.lang.OutOfMemoryError occurred dispatching signal SIGINT to handler- the VM may need to be forcibly terminated
この情報を追加します。別のマシンで同じパラメーターを使用して同じプログラムを実行すると、この例外は発生しません! これらの引数を使用してプログラムを実行します (メモリに 5Go があります)
jvmargs="-d64 -Xms512m -Xmx3G -Xss1G"
シリアライゼーションを使用しているため、私のアルゴリズムは多くのメモリを必要とします。では、なぜ私は例外ではなくメッセージを殺したのOutOfMemoryError
ですか? 問題を解決するにはどうすればよいですか? 同じパラメータを使用して別のマシンで実行すると、なぜ動作するのですか?