Overview
Some of our clients have noticed that upgrading to Tomcat 9 has brought about sluggish performance. In particular, looking at the server’s task manager, it appears that there is a “heart beat” of CPU spiking every few seconds, up to 100%. This occurs even if the m-Power use is idle. If this is happening on your sever, please follow these steps to resolve.
Steps
- Open the server.xml in \mrc\development\m-power\tomcat\conf\server.xml. Look for any references to reloadable=”true”. Set these all to false
- Repeat the above step in the \mrc\production\m-power\tomcat\conf\server.xml
- Finally, edit the mrc-runtime.properties file in \mrc\development\m-power\mrcjava\WEB-INF\classes. Add the following text on a new line:
force_reload_on_compile=true
We have found that certain combinations of the JDK along with certain Tomcat versions cause Tomcat to do a complete jar scan on any instances where reloadable is set to true
in Tomcat. By turning this off, this automatic scan stops. However, this is problematic in development as we need Tomcat to recognize newly compiled applications. This is specifically why you need to add the change to mrc-runtime.properties in development only.