Java Applications in Linux Containers May Have Larger Thread Pools, Consume More CPU or Memory, or Throw OutOfMemoryErrors After Updating to JDKs 8u361, 11.0.17, 17.05, 18.0.2, 19, or Later
(Doc ID 2942819.1)
Last updated on AUGUST 14, 2023
Applies to:
Java SE JDK and JRE - Version 8 and laterLinux x86-64
Symptoms
This issue pertains to Java applications running in a Linux container that does not limit its CPU resources.
Application performance issues may occur after updating the JDK as follows:
From any of the following versions:
- JDK 8u191 - 8u351
- JDK 11 - 11.0.16
- JDK 17 - 17.0.4
- JDK 18 - 18.0.1
To the following versions:
- JDK 1.8.0.361+
- JDK 11.0.17+
- JDK 17.0.5+
- JDK 18.0.2+
- JDK 19+
Where '+' means "or higher update/version"
Specifically, the following changes or performance issues may occur:
- Increased number of threads in thread pools, such as the garbage collector's worker threads or the ForkJoinPool worker threads
- Increased CPU usage and/or contention
- Stuck threads and performance latency as a result of CPU contention
- Increased memory footprint and/or OutOfMemoryErrors
- For memory issues occurring on multiple systems, you may notice a relation between the number of CPUs available on the system and higher memory consumption
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 |
Cause |
Solution |