Подтвердить что ты не робот

Ошибки "Невозможно выделить память" (errno = 12) "во время выполнения приложения Java

При запуске распределенного приложения я получаю много таких ошибок как на сервере, так и на рабочих узлах:

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

Узлы имеют 128 ГБ ОЗУ, где доступно около 120 ГБ.

Я использую JVM Oracle:

$ 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)

Что означают эти сообщения и как я могу избавиться от них?

4b9b3361

Ответ 1

Как предложил Platypus в комментариях к моему вопросу, я понизил Java до версии 1.7.0_41. К сожалению, проблема не устранена.

Я пошел еще дальше к версии 1.7.0_25 и, видимо, это решило ошибку. Я пробовал это много раз, и сообщение об ошибке больше не происходило.