0 Replies Latest reply on Oct 28, 2015 4:44 AM by Amala V

    JBOSS heap memory issue. Application performance is getting degraded.

    Amala V 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..