2016-02-12 2 views
0

У меня есть приложение, развернутое в Cloud Foundry. Он отлично работал с 1 Гб кучного пространства под java7 с java buildpack v2.4. Но после обновления до java8 buildpack v3.3.1 он время от времени рушился с OutOfMemoryError. Даже увеличение максимального размера кучи до 2 ГБ не помогло. Мне нужно выяснить причину, по которой это происходит.Приложение не работает с OutOfMemoryError в CloudFoundry

Я очень новичок в Cloud Foundry, и мне интересно, как получить кучу дампа из приложения, развернутого в CF. Не могли бы вы посоветовать это? Или, может быть, у вас есть мысли, почему изменение buildpack может вызвать такие проблемы?

ответ

0

Проблема может быть связана с настройками MaxMetaspaceSize:

"В JDK 8, постоянное поколение было удалено, и метаданные класса выделяется в родной памяти Объем родной памяти, которая может быть использована для класса метаданных. по умолчанию неограничен. Используйте параметр MaxMetaspaceSize, чтобы установить верхний предел для объема встроенной памяти, используемой для метаданных класса. " from Oracle's

Как описано в разделе «Выделение достаточного объема памяти » из Cloud Foundry Docs, обычай buildpack может потребоваться настроить эти параметры

«Настройка связанных с памятью параметров JRE для вашего приложения, вы создаете пользовательский buildpack и укажите этот buildpack в манифесте развертывания. Дополнительные сведения о настройке настраиваемых пакетов и манифеста см. в разделах «Пользовательские сборки и развертывание с помощью приложений».

Надеюсь, что вы указываете в правильном направлении.

Смежные вопросы