0

I have installed the deployable version of JBoss BRMS 6.4. My linux virtual machine has 09 Gb of Memory. To control the JVM memory, I adapt standalone-secure.conf file by modifying the JAVA_OPTS line:

JAVA_OPTS="-Xms6G -Xmx6G -XX:MaxPermSize=3g -Djava.net.preferIPv4Stack=true"

I restart BRMS service, but while executing BRMS rules, top command shows java is still consuming more than 6 Gigabit of Memory.

How can I solve the issue, or what is the best way for controling Java Memory in JBoss EAP ?

Thank you for your help community

juhou
  • 11
  • 2

1 Answers1

0

-Xmx parameter controls the maximum size of the Java heap, but its not the only memory which allocates to java process. In addition to Xmx, PermGen, native C++ heap which is used by the JVM internals, space for the thread stacks ideallu its 1mb per thread by default on a 64 bit JVM. So total memory consued by java process is

JvmProcessMemory = JvmHeap + PermGen + (ThreadStackSize* Number-of-Threads) + Jvm-native-c++-heap

Community
  • 1
  • 1
Abhijit Humbe
  • 1,563
  • 1
  • 12
  • 13
  • Thank you very much for your answer. I will upgrade my memory to 16 Go, and see if they are improvment. Regards – juhou Feb 21 '18 at 10:14