[Java SE] In Linux Containers, Higher CPU Load May Be Reported by JMX getSystemCpuLoad() and getProcessCpuLoad() after JDK Update
(Doc ID 2931008.1)
Last updated on FEBRUARY 27, 2023
Applies to:
Java SE JDK and JRE - Version 8 to 17Information in this document applies to any platform.
Symptoms
For JVMs that are run in a Linux container, JMX monitoring agents using getSystemCpuLoad() and getProcessCpuLoad() may report higher CPU load after updating to one of the following Oracle JDK version updates:
- Oracle JDK 17.0.1 (or later)
- Oracle JDK 11.0.14 (or later)
- Oracle JDK 8u341 (or later)
However, no JVM performance issues occur.
For example, WebLogic Server Diagnostic Framework (WLSDF) uses getSystemCpuLoad() and getProcessCpuLoad() to monitor the JVM's CPU load. In a test of a Kubernetes container (Linux cgroups v1), WLS instances are run with JDK 8u321. The WLSDF reports CPU load of the WLS instances is about 20%-30%, aggregated. After updating the WLS instances to JDK 8u361, the CPU load reported by the WLSDF increases to 85%-90%, aggregated. Reverting to JDK 8u321 causes the CPU load reported by WLSDF to again be 20%-30%, aggregated.
Changes
The issue occurs in a Linux container environment after updating the Oracle JDK to one of the following versions:
- Oracle JDK 17.0.1 (or later)
- Oracle JDK 11.0.14 (or later)
- Oracle JDK 8u341 (or later)
Cause
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Symptoms |
Changes |
Cause |
Solution |
References |