2017-01-06 3 views
0

Мы получаем в java.lang.OutOfMemoryError: пространство PermGen в нашей среде: Windows Server 2012 R2 64-разрядные 8GB RAM JRE 1.7 u80 Tomcat 7.0.73 ActiveMQ 5.9.0 Mule выполнения 3.5.4 Mule консоль управления 3.5.3 развернут над Tomcat 7 вебсервис войны файл, который использует PhantomJS 1.9.8 развернутые над Tomcat 7java.lang.OutOfMemoryError: PermGen пространство с Mule ММС и Tomcat 7

файл setenv.bat под Tomcat/bin с нижеследующими настройками: setenv JAVA_OPTS = -Xms512M -Xmx2048m -XX: PermSize = 1024m -XX: MaxPermSize = 1024m

Кроме того, параметры реестра для виртуальной машины Java, как при tomcat7w.exe: первоначальный пул памяти: 256 МБ максимальный пул памяти: 1536 MB

Может ли объяснить, какие имеет приоритет, настройки setenv.bat файлов или tomcat7w.exe настройки для пула памяти? Кроме того, какими должны быть идеальные настройки для этой среды, поскольку эти параметры в настоящее время выполняются на Windows Server 2008 R2 с 64-разрядной памятью с 16 ГБ?

ответ

0

Это зависит от того, как вы начинаете свой Tomcat, независимо от того, запускаете ли вы его как сервис Windows или через catalina.bat.

Вы можете проверить следующее сообщение: [вопрос]: Configure Tomcat as a service (no catalina.bat)

0

Как говорит @GKGeorgiev, это будет зависеть от того, как вы запускаете Tomcat.

Я предлагаю вам сделать небольшой эксперимент:

  1. изменить максимальные настройки размера кучи в setenv.bat до значения, которое достаточно мало, чтобы вызвать немедленный отказ.

  2. Пуск Tomcat.

Если это вызывает поведение, чтобы изменить (например, к сбою сразу) вы знаете, что файл setenv.bat является тот, который берет верх. Если нет, то нет.

Затем сделайте эксперимент наоборот; т. е. изменить эквивалентный параметр реестра и посмотреть, не имеет ли это никакого эффекта.


Также проверьте документацию Tomcat, которая применяется к используемому методу запуска.


Наконец, было бы целесообразно перейти на Java 8. Java 7 выходит далеко за рамки его EOL, и установлена ​​версия Java, которая не получает обновления для системы безопасности является рискованным.

+0

Да, хотя я считаю, что настройки реестра имеют приоритет здесь. Я обязательно попробую, как было предложено и подтвержу. Сначала я начал с Java 8, но, к моему сожалению, Mule runtime не поддерживает его. Следовательно, мне пришлось перейти на новый патч Java 7. – pulkitgulati

+0

Предполагая, что вы говорите о Mule ESB, поддерживается Java 8: https://docs.mulesoft.com/mule-user-guide/v/3.7/hardware-and-software-requirements –

0

для установки

XMS и Xmx должна быть равна идеальной памяти,

Внутри catalina.bat переменной JAVA_OPTS вам следует определить параметры памяти.

при запуске это займет приоритет.

позаботьтесь

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