0 Replies Latest reply on Oct 28, 2015 2:12 AM by sai xxxx

    JBOSS process- In heap memory "Old Gen" getting full

    sai xxxx Newbie

      We are facing the performance degrade of the application after 2 days  of restart.

      Previously we are using jre version 1.7.4 , there seems to be no  performance issues with that.

      After the upgrade to jre version 1.7.80 , there are  lot of performance issues.


      Previously the JBOSS parameters are


      -server -XX:+UseCompressedOops -XX:+TieredCompilation -Xms1024m -Xmx1536m -XX:MaxPermSize=384m -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Djboss.server.default.config=standalone.xml -Xss256k -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:-UseSplitVerifier -XX:+HeapDumpOnOutOfMemoryError -XX:ReservedCodeCacheSize=128m -Dorg.jboss.server.bootstrap.maxThreads=8


      1) After the upgrade, the application seems to be slow after 2 days of restart,

         We removed the JBOSS parameter "-XX:+TieredCompilation" and restarted the application.


      2) After removing the Tiered Compilation also, the application becoming slow after one week of restart.

         We have seen the Old Gen Space is becoming full and the Garbage Collector Threads are running continuously.

               concurrent mark-sweep generation:

                   capacity = 1073741824 (1024.0MB)

                   used     = 1073741824 (1024.0MB)

                   free     = 0 (0.0MB)

                  100.0% used



         We have added JBOSS tuning parameters "-XX:+UseCompressedOops","-XX:CMSInitiatingOccupancyFraction=70","-XX:+UseCMSInitiatingOccupancyOnly","-XX:NewRatio=3" and increased the heap size as "-Xms1536m -Xmx2048m"


         Present the JBOSS Parameters are as follows.


         -server -XX:+UseCompressedOops -Xms1536m -Xmx2048m -XX:MaxPermSize=384m -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Djboss.server.default.config=standalone.xml -Xss256k -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+UseCompressedOops -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly -XX:NewRatio=3 -XX:-UseSplitVerifier


         But also after the concurrent mark-sweep generation becoming 80% the Garbage Collector Threads are running continuously and the CPU Utilization for Java Process for the application is above 600-700 percentage all the time.


      And  concurrent mark-sweep generation is above 80% after two days of restart of application.

      concurrent mark-sweep generation:

         capacity = 1610612736 (1536.0MB)

         used     = 1348910168 (1286.4209823608398MB)

         free     = 261702568 (249.57901763916016MB)

         83.75136603911717% used




         Please post your suggestions..