DX Application Performance Management

Expand all | Collapse all

JAVA Heap Settings for 64Bit JVM

Jump to Best Answer
  • 1.  JAVA Heap Settings for 64Bit JVM

    Posted 11-25-2012 06:25 PM
    Hello Friends,

    what are the Enterprise Manager JVM heap settings that you guys are uisng in your Environemnet to increase the EM Performance for 64bit JVM?

    Here are the settings i am using:

    Collector with 4GB

    lax.nl.java.option.additional=-Xms4096m -Xmx4096m -Djava.awt.headless=false -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:CMSInitiatingOccupancyFraction=50 -Xss512k -Dmail.mime.charset=UTF-8 -Dorg.owasp.esapi.resources=./config/esapi -Dosgi.clean=false


    MOM with 12 GB

    lax.nl.java.option.additional=-Xms12288m -Xmx12288m -Djava.awt.headless=true -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:CMSInitiatingOccupancyFraction=50 -Xss512k -Dmail.mime.charset=UTF-8 -Dorg.owasp.esapi.resources=./config/esapi -Dosgi.clean=false

    Please share your seetings....

    Thanks


  • 2.  RE: JAVA Heap Settings for 64Bit JVM

    Posted 11-26-2012 04:25 PM
    Here are the arguments that we've been using.

    MOM:
    [font=Courier New]-Xms8G -Xmx8G -Xss512k -XX:MaxPermSize=1G -Djava.awt.headless=false -Dmail.mime.charset=UTF-8 -showversion -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:CMSInitiatingOccupancyFraction=50 -Dorg.owasp.esapi.resources=./config/esapi -Dintroscope.enterprisemanager.clustering.login.host.resolve=false[font]

    Collector (Agent Data):
    [font=Courier New]-Xms2g -Xmx2g -Xss512k -XX:MaxPermSize=512m -Djava.awt.headless=false -Dmail.mime.charset=UTF-8 -showversion -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:CMSInitiatingOccupancyFraction=50 -Dorg.owasp.esapi.resources=./config/esapi -Dintroscope.enterprisemanager.clustering.login.host.resolve=false[font]

    Collector (CEM Data):
    [font=Courier New]-Xms6g -Xmx6g -Xss512k -XX:MaxPermSize=1G -Djava.awt.headless=false -Dmail.mime.charset=UTF-8 -showversion -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:CMSInitiatingOccupancyFraction=50 -Dorg.owasp.esapi.resources=./config/esapi -Dintroscope.enterprisemanager.clustering.login.host.resolve=false[font]

    Standalone EM:
    [font=Courier New]-Xms2g -Xmx2g -Xss512k -XX:MaxPermSize=512m -Djava.awt.headless=false -Dmail.mime.charset=UTF-8 -showversion -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:CMSInitiatingOccupancyFraction=50-Dorg.owasp.esapi.resources=./config/esapi -Dintroscope.enterprisemanager.clustering.login.host.resolve=false[font]


  • 3.  RE: JAVA Heap Settings for 64Bit JVM

    Posted 11-28-2012 03:08 PM
    Does anyone have any settings they can share for IBM JRE?

    -Hiko


  • 4.  RE: JAVA Heap Settings for 64Bit JVM
    Best Answer

    Posted 12-11-2012 02:09 AM
    Hi Hiko,

    I am using this settings for IBM JRE:

    MOM:


    8GB RHEL 5.5 VMWare:
    lax.nl.java.option.additional=-Dorg.owasp.esapi.resources=./config/esapi -Djava.awt.headless=true -Xgcpolicy:gencon -Xcompressedrefs -verbose:sizes -Xmns3G -Xmnx3G -Xms5G -Xmx5G -verbosegc -Xverbosegclog:logs/garbagecollection.log -Xss512k -Dmail.mime.charset=UTF-8

    EMs:

    16GB RHEL 5.5 VMWare (I am currently investigating whether it is better to configure nursery/tenured with 8GB/4GB or to leave the sizing to the JVM):
    lax.nl.java.option.additional=-Xms12G -Xmx12G -Djava.awt.headless=true -Xgcpolicy:gencon -Xss512k -verbose:sizes -Xcompressedrefs -verbosegc -Xverbosegclog:logs/garbagecollection.log -Dmail.mime.charset=UTF-8
    lax.nl.java.option.additional=-Xms12G -Xmx12G -Djava.awt.headless=true -Xgcpolicy:gencon -Xmns8G -Xmnx8G -Xmos4G -Xmox4G -Xss512k -verbose:sizes -Xcompressedrefs -verbosegc -Xverbosegclog:logs/garbagecollection.log -Dmail.mime.charset=UTF-8

    8GB RHEL 5.5 VMWare (I am currently investigating whether it is better to configure nursery/tenured with 2GB/3GB or to leave the sizing to the JVM):
    lax.nl.java.option.additional=-Xms5G -Xmx5G -Djava.awt.headless=true -Xgcpolicy:gencon -Xss512k -verbose:sizes -Xcompressedrefs -verbosegc -Xverbosegclog:logs/garbagecollection.log -Dmail.mime.charset=UTF-8
    lax.nl.java.option.additional=-Xms5G -Xmx5G -Djava.awt.headless=true -Xgcpolicy:gencon -Xmns2G -Xmnx2G -Xmos3G -Xmox3G -Xss512k -verbose:sizes -Xcompressedrefs -verbosegc -Xverbosegclog:logs/garbagecollection.log -Dmail.mime.charset=UTF-8

    My experiences with different settings:
    - Depending on the live metric count and the connected agents, the size of the nursery area has to be really big that the EM can harvest all the metrics and persist them into the smartstor
    - GenCon is the right gc policy because the scavenger tilt ratio is round about 90%. So there are only 10% objects in the survivor space in the nursery area and so the nursery gc cycles are very fast
    - CPU is not the limiting ressource but the RAM and the heap size (for MOM and EMs)


  • 5.  RE: JAVA Heap Settings for 64Bit JVM

    Posted 12-11-2012 09:54 AM
    That's awesome! Thanks for sharing with the community!


  • 6.  RE: JAVA Heap Settings for 64Bit JVM

    Posted 12-12-2012 01:37 AM
    Could you please share your settings for the IBM JRE?


  • 7.  RE: JAVA Heap Settings for 64Bit JVM

    Posted 12-17-2012 02:26 PM
    For those of you on Solaris, make sure to use the "-d64" or "-d32" flags. I found that in order to use the large heap settings with 64-bit JREs, I needed the "-d64" to make it work.

    -Hiko