My Oracle Support Banner

[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 17
Information 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:

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:

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


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.