it seems that you give the JVM's more memory than the system has.
Could you give more details how the system is, do you mean you have two boxes with 8GB each?
How much JBoss instances do you start.
Also check the memory consumption of the JVM, you might use 'jstat -gc <JVM pid>' the output show how the memory is occupied. See Oracle page for jstat details, it is part of the JVM.
Also you hace 1.5GB PermSize does your application is that big? Maybe jstat show that the PermSize is too much and you can reduce it.
Thank you so much for you response.
So we have two VM's with 8GB RAM each. And we start only JBoss instance per VM. The other applications running on the VM's are openoffice and imagemagick. But they dont seem to be hogging to much memory.
We will try out the jstat and post the results soon.
You have totally incorrectly configured JVMs!
The total memory usage of each JVM is 4 GB heap + 1.5 GB max perm (The
-Xmxparameter refers to heap memory, whereas the permanent generation space is a separate memory allocation!) + other memory for threads, memory allocated through JNI, shared JVM stuff, etc. So each JVM is about 6 GB but system total memory is only 8 GB!
You need to fix the allocations for the system to be stable.
As I mentioned before, I suppose that your -XX:MaxPermSize=1536m setting can be reduced as this area is only used to store classes.
Please check with jstat.
Also I suppose your JVM setting memory and GC is not a 'tuned' one, do you have grabbed an example somewhere.
As these settings are very individual you should drop the most of the settings (i.e. CMS settings)