1 Reply Latest reply: Mar 9, 2012 2:20 AM by Wolf-Dieter Fink RSS


bhadre Gowda Newbie

Hi All,


We are facing frequent OOM issue in Production SOA server instances.


we have configured the JVM arug like below Is this the correct configuration or else any thing we need to add avoid frequent OOM error.


/usr/java/latest/bin/java -Dprogram.name=run.sh -server -Xms4096m -Xmx4096m -XX:PermSize=256m -XX:MaxPermSize=512m


Below restarting the server i have taken the Heap history.

Heap Configuration:

   MinHeapFreeRatio = 40

   MaxHeapFreeRatio = 70

   MaxHeapSize      = 4294967296 (4096.0MB)

   NewSize          = 1310720 (1.25MB)

   MaxNewSize       = 17592186044415 MB

   OldSize          = 5439488 (5.1875MB)

   NewRatio         = 2

   SurvivorRatio    = 8

   PermSize         = 268435456 (256.0MB)

   MaxPermSize      = 536870912 (512.0MB)


Heap Usage:

PS Young Generation

Eden Space:

   capacity = 1139474432 (1086.6875MB)

   used     = 1134005864 (1081.472267150879MB)

   free     = 5468568 (5.215232849121094MB)

   99.52007979763077% used

From Space:

   capacity = 38797312 (37.0MB)

   used     = 0 (0.0MB)

   free     = 38797312 (37.0MB)

   0.0% used

To Space:

   capacity = 159252480 (151.875MB)

   used     = 0 (0.0MB)

   free     = 159252480 (151.875MB)

   0.0% used

PS Old Generation

   capacity = 2863333376 (2730.6875MB)

   used     = 2863333296 (2730.6874237060547MB)

   free     = 80 (7.62939453125E-5MB)

   99.99999720605359% used

PS Perm Generation

   capacity = 268697600 (256.25MB)

   used     = 197767376 (188.6056671142578MB)

   free     = 70930224 (67.64433288574219MB)

   73.60221155678353% used


I suspect some generation ration configuration is worng, Could you please correct me if am wrong.



Bhadre Gowda

  • 1. Re: Getting frequently OUT OF MEMORY ERROR ON  JBOSS SOA SERVER
    Wolf-Dieter Fink Master

    Nobody can't give you the ultimate answer how to set the Heap and GC.

    It depends extremely to your application, so it is your housework.


    The first thing is to check whether you have an application memory leak. This can be done by monitoring the JVM.

    If you see that the OldGen utilization is growing during the time (and the throughput is not increasing as well) you might use a profiler (testenv) or heapdumps and compare it.


    From what you post it looks like a leak.