В настоящее время я работаю над проектом, который требует большого объема памяти, и я не могу заставить Mule 3.4.0 использовать более 4 ГБ ОЗУ (работает на RHEL 6.2). Я использую 64-битный сервер Java HotSpot JVM 1.7.0_45-b18 и версию Mule для сообщества.
Я редактировал файл wrapper.conf и пробовал множество настроек, но безрезультатно.
Я вижу, что в Mule JIRA указана ошибка: https://www.mulesoft.org/jira/browse/MULE-7018, который закрыт для версии 3.4.0, но как неполный.
Мои последние попытки заключались в том, чтобы явно попытаться заставить его сразу же занять 8 ГБ пространства в куче, последняя попытка была следующей:
# Initial Java Heap Size (in MB)
wrapper.java.initmemory=8192
# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=8192
Я попытался установить параметры initmemory
и maxmemory
равными нулю в соответствии с этим старым сообщением об оболочке: http://java-service-wrapper.996253.n3.nabble.com/4096MB-heap-limit-td1483.html — однако это приводит к тому, что мул не начать правильно.
Я также явно пытался передать дополнительные параметры JVM через оболочку:
wrapper.java.additional.6=-Xmx8192
wrapper.java.additional.7=-Xms8192
При этом я вижу, что обе настройки памяти отправляются в JVM (т.е. -Xmx8192 -Xms8192
сначала в строке процесса, а затем -Xms4096m -Xmx4096m
). Однако моя команда top дает не более 4,2 ГБ резидентной памяти, занимаемой процессом JVM. Я понимаю, что верхний столбец RES не является 100% точным способом определения использования памяти JVM, но у меня сложилось впечатление, что если я пытаюсь выделить 8 ГБ из коробки, он определенно должен превышать 4 ГБ. Машина имеет 60 ГБ физической памяти.
Кто-нибудь нашел способ получить более 4 ГБ места в куче для Mule 3.4.0?