JBoss 5.1 cluster - High CPU and slow user interface

Document ID : KB000049828
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

RCM SP4 and later is configured to work with Jboss cluster with 2 nodes or more.
After working with RCM for some time (1-3 days and no server restart was performed during this time) the RCM server nodes start showing high CPU usage and a very slow performance on UI.
For example the login could take 10 minutes and sometime it could timeout.

Solution:

  1. Stop all nodes
  2. Delete tmp,temp and work folders from all nodes.
  3. Edit the vfs.xml file on one node on C:\jboss-5.1.0.GA_SP4P\server\all\conf\bootstrap
  4. Add this entry to the file:
    <entry>
    <key>${jboss.server.home.url}farm</key>
    <value><inject bean="VfsNamesExceptionHandler"/></value>
    </entry>
  5. This entry needs to be added as the last entry under the map tag.
  6. Copy this file to all nodes.
  7. Start the nodes and retest.
  8. Below is an example vfs.xml file from my Env: the new added entry is show in red color.
    <?xml version="1.0" encoding="UTF-8"?><!--   The JBossVFS initializer configuration.--><deployment xmlns="urn:jboss:bean-deployer:2.0">   <bean name="VFSCache">    <constructor factoryClass="org.jboss.virtual.spi.cache.VFSCacheFactory" factoryMethod="getInstance">      <!-- Use the CombinedVFSCache implementation -->      <parameter>org.jboss.virtual.plugins.cache.CombinedVFSCache</parameter>    </constructor>    <start ignored="true"/>    <property name="permanentRoots">      <map keyClass="java.net.URL" valueClass="org.jboss.virtual.spi.ExceptionHandler">        <entry>          <key>${jboss.lib.url}</key>          <value><null/></value>        </entry>        <entry>          <key>${jboss.common.lib.url}</key>          <value><inject bean="VfsNamesExceptionHandler"/></value>        </entry>        <entry>          <key>${jboss.server.lib.url}</key>          <value><inject bean="VfsNamesExceptionHandler"/></value>        </entry>        <entry>          <key>${jboss.server.home.url}deploy</key>          <value><inject bean="VfsNamesExceptionHandler"/></value>        </entry>        <entry>          <key>${jboss.server.home.url}farm</key>          <value><inject bean="VfsNamesExceptionHandler"/></value>        </entry>      </map>    </property>    <property name="realCache">      <bean class="org.jboss.virtual.plugins.cache.IterableTimedVFSCache"/>    </property>  </bean>   <bean name="VfsNamesExceptionHandler" class="org.jboss.virtual.plugins.context.helpers.NamesExceptionHandler">    <constructor>      <parameter class="java.lang.String">sqljdbc.jar</parameter>    </constructor>  </bean> </deployment>