Tuning JBoss Application Server
  • Share this blog:

JVM Tuning in JBoss

HotSpot JIT JVM: -server

Memory Allocation: -Xms, -Xmx, -Xss

GC Avoidance

   Monitoring: -verbose:gc

  Frequency

  Minor vs. Full GC



To enrich your career and become a JBoss professional, visit Tekslate, the global online training platform:" JBoss Training". This course will help you achieve excellence in this field.

GC should run as infrequently and as quickly as possible

Example: -XX:NewSize=80m -XX:MaxNewSize=80m -Xms400m -Xmx400m -XX:+UseParallelGC -XX:ParallelGCThreads=2

         Use 64bit Hardware/OS/JVM to be able to allocate over 4GB

         Do not use extra-large or extra small heaps

         Use the multi-processor/core machine to take advantage of parallel GC

         Use Sun’s Java 5 JVM (self-tuning) over 1.4 (or older)

         Tuning GC on Java

Tomcat Tuning in JBoss

Tune connectors in server.xml maxThreads + 25% = max minSpareThreads + 5% = normal maxSpareThreads + 5% = peak Remove unnecessary Valves, Loggers, and Connectors Precompile JSPs Turn off "development" mode on jsp handler (servlet) in conf/web.xml Session timeout JSPs can be precompiled (by developers or assemblers) using Ant’s jspc task.

RMI Tuning in JBoss

  By default JBoss creates a new thread for each RMI request Wasteful and unscalable during spikes Switch to pooled invoker In conf/standardjboss.xml replace all occurrences of :jboss:service=invoker,type=jrmp by jboss:service=invoker,type=pooled

Log4J Tuning - JBoss

System-wide logging set on DEBUG or TRACE can bring JBoss to a standstill Configured in conf/log4j.xml By default, JBoss uses INFO priority and logs to both CONSOLE and FILE

Consider changing the <root> priority to ERROR

Consider logging to FILE only

Consider using category filters for your own class hierarchies

<category name="my.package">

  <priority value="INFO"/>



  <priority value="ERROR" />

  <appender-ref ref="FILE"/>


Tuning Other Services

Increase the scan frequency of the deployment scanner (default: 5 secs) Consider setting MinimumSize on [stateless] Session Bean Container pool (conf/standardjboss.xml) Use Hibernate in place of CMP (2.x) Avoid XA connection pools Use JDBC drivers to check on connections

Slimming JBoss

         Remove services that are not needed          Not a huge impact on performance          Frees up memory and other resource (like threads)          Faster JBoss startup          Excellent security practice          Breaks Java EE TCK          Create a new configuration set (copy of default) Services that can be trimmed include the following:          Mail Service (and libraries)          Cache Invalidation Service          J2EE client deployer service          HAR deployer and Hibernate session management services          Hypersonic (provide a different DefaultDS for JMS MQ)          JMS MQ          HTTP Invoker (RMI over HTTP)          Support for XA Data Sources          JMX Console          JMX Invoker Adaptor (JMX calls over RMI)          Web Console          JSR-177 for JMX          Console/Email Monitor Alerts          Properties Service          Scheduler Service/Manager          UUID key generation          EAR Deployer          JMS Queue Destination Manager          CORBA/IIOP Service          Client User Transaction Service          Attribute Persistence Service          RMI Classloader          Remote JNDI Naming          JNDI View          Pooled Invoker          Bean Shell Deployer

For an in-depth understanding on JBoss click on:

About Author
Author Bio

TekSlate is the best online training provider in delivering world-class IT skills to individuals and corporates from all parts of the globe. We are proven experts in accumulating every need of an IT skills upgrade aspirant and have delivered excellent services. We aim to bring you all the essentials to learn and master new technologies in the market with our articles, blogs, and videos. Build your career success with us, enhancing most in-demand skills in the market.

Stay Updated

Get stories of change makers and innovators from the startup ecosystem in your inbox