Как установить настройки JVM в Jboss EAP 6.4 для BRMS
Я установил развертываемую версию JBoss BRMS 6.4. Моя виртуальная машина Linux имеет 09 ГБ памяти. Для управления памятью JVM я адаптирую файл standalone-secure.conf, изменив строку JAVA_OPTS:
JAVA_OPTS = "- Xms6G -Xmx6G -XX: MaxPermSize = 3g -Djava.net.preferIPv4Stack = true"
Я перезапускаю службу BRMS, но при выполнении правил BRMS команда top показывает, что java все еще использует более 6 гигабит памяти.
Как я могу решить проблему, или как лучше всего управлять памятью Java в JBoss EAP?
Спасибо за помощь сообществу
1 ответ
Параметр -Xmx контролирует максимальный размер кучи Java, но это не единственная память, которая выделяется для процесса Java. В дополнение к Xmx, PermGen, нативной куче C++, которая используется внутренними компонентами JVM, пространство для стека идеально подходит по 1 МБ на поток по умолчанию на 64-битной JVM. Таким образом, общая память, используемая процессом Java, равна
JvmProcessMemory = JvmHeap + PermGen + (ThreadStackSize* Number-of-Threads) + Jvm-native-c++-heap