web-dev-qa-db-ja.com

Javaアプリケーションの実行時にメモリを割り当てることができません」(errno = 12) 'エラー

分散アプリケーションを実行しているときに、サーバーとワーカーノードで次のエラーが多数発生します。

Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f4f8c800000, 549453824, 2097152, 0) failed; error='Cannot allocate memory' (errno=12)

ほとんどの場合、プロセスは続行され、期待どおりに終了しますが、プロセスが失敗することもあります。

Java -Xms512M -Xmx50G -cp myjar.jar myclass.Mainでアプリケーションを呼び出しています

ノードには128GBのRAMがあり、約120GBが空いています。

OracleJVMを使用しています。

$ Java -version
Java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

これらのメッセージはどういう意味ですか?どうすればそれらを取り除くことができますか?

11
Björn Jacobs

Platypusが私の質問へのコメントで示唆したように、私はJavaをバージョン1.7.0_41にダウングレードしました。残念ながら、問題は解決しませんでした。

私はさらにバージョン1.7.0_25に戻り、明らかにこれ解決済みエラーです。何度も試しましたが、エラーメッセージは1回も発生しませんでした。

5
Björn Jacobs