Friday 15 March 2013

jboss7.x - jBoss slowness in a VMWare ESXI Virtual Machine -


We have a Java EE application that runs in JBoss 7.1.1, and we have virtualmachine (like VMware ESXI)

The thing is, when we run our app in VM, the performance decreases by almost 50%.

It seems as if GC goes crazy ... so far I can tell, when GC runs, it takes more than usual "end", and in the meantime it stops the application .

Does anyone have such an experience?


Edit
  • XMX and XMS = 1 GB in JVM
  • VM has 4 GB RAM
  • Ubuntu server 64
  • Oracle JVM 64

    I would say that Before moving the app to VM with the configuration, it was running on 32 bit system and 32 bit JVM and using the same JVM parameter.

    The trick is that you have gone 64 bit with 64 bit Java but still have submitted the size of the pile of the same size to your application, what really happened is that Your app has half the memory available, which used to be 64bit jvm, each object is twice the size of one of the 32bit jvm.

    I have provided some configuration, which I recommend:

    • Increase the hep size for 2g
    • or 32bit jvm

      Use

      Given that your application does not exceed 1.3g, it thinks that the best performance will be achieved by 32 bit JVM Running with and -Xms1300m-Xmx1300m.

      You can also move forward and 32 bit VM with 32-bit Linux installation. 64 bit jvm is only useful if you need more than 1.3 caps, otherwise it only adds too much overhead.

      In addition to this, you will see jvm

        -verbose: gc - XX: + PrintGCDetails   

      this will show you what with GC It's going to be more helpful in tuning your jvm.

No comments:

Post a Comment