Bug ID 1271941: Tomcat CPU utilization increased after upgrading to 15.1.6 and higher versions.

Last Modified: Nov 20, 2025

Affected Product(s):
BIG-IP Install/Upgrade, TMOS(all modules)

Known Affected Versions:
15.1.6, 15.1.6.1, 15.1.7, 15.1.8, 15.1.8.1, 15.1.8.2, 15.1.9, 15.1.9.1, 15.1.10, 15.1.10.2, 15.1.10.3, 15.1.10.4, 15.1.10.5, 15.1.10.6, 15.1.10.7, 15.1.10.8, 16.0.0, 16.0.0.1, 16.0.1, 16.0.1.1, 16.0.1.2, 16.1.0, 16.1.1, 16.1.2, 16.1.2.1, 16.1.2.2, 16.1.3, 16.1.3.1, 16.1.3.2, 16.1.3.3, 16.1.3.4, 16.1.3.5, 16.1.4, 16.1.4.1, 16.1.4.2, 16.1.4.3, 16.1.5, 16.1.5.1, 16.1.5.2, 16.1.6, 16.1.6.1, 17.0.0, 17.0.0.1, 17.0.0.2, 17.1.0, 17.1.0.1, 17.1.0.2, 17.1.0.3, 17.1.1, 17.1.1.1, 17.1.1.2, 17.1.1.3, 17.1.1.4, 17.1.2, 17.1.2.1, 17.1.2.2, 17.1.3, 17.5.0, 17.5.1, 17.5.1.2, 17.5.1.3, 21.0.0

Opened: Mar 16, 2023

Severity: 3-Major

Symptoms

Tomcat CPU utilization is high after upgrading to BIG-IP 15.1.6, java garbage collector is running high. Tomcat needs more memory after upgrading OpenJDK.

Impact

Tomcat server runs in an unstable state as CPU utilization is abnormal.

Conditions

- Upgrade from BIG-IP 15.1.5 and earlier versions to BIG-IP 15.1.6 and higher versions.

Workaround

Increase the value of the system DB variable provision.tomcat.extramb and restart tomcat. This value is an amount in MB to add to the default tomcat heap size. The default heap size varies depending on provisioning from about 130 MB for LTM only to about 270 MB for ASM systems. provision.tomcat.extramb is 0 by default. One approach would be to increment by 50MB a time so as not to waste memory, while monitoring CPU use of tomcat to see if it drops. Less tan 2% would be a typical CPU use assuming the web interface isn't being used. Usually the CPU drops a lot with 50 or 100, sometimes 200 or slightly more might be required. # tmsh modify sys db provision.tomcat.extramb value 50 # bigstart restart tomcat tomcat is a Java process with user tomcat. You can find out the pid by running this in bash, with an example output shown beneath : # top -bn 1 | grep tomcat 18923 tomcat 20 0 731444 404080 ... The first column is the PID, and can be used in a top command so only tomcat is monitored. Using the example above the PID was 18923, so this top command will allow monitoring that process: # top -p 18923 (use q to quit). Of course after each tomcat restart the pid will change. There are other possible issues that are sometimes mitigated by very high values of provision.restjavad.extramb, for example 500 or more, even without large config size. One example is ID1856513, but it is better to workaround that directly as shown in: https://cdn.f5.com/product/bugtracker/ID1856513.html

Fix Information

None

Behavior Change

Guides & references

K10134038: F5 Bug Tracker Filter Names and Tips