After Code Cache Flushing Worked, High CPU and Slowdown Occurs

(Doc ID 1969265.1)

Last updated on MAY 01, 2018

Applies to:

Java SE JDK and JRE - Version 7 to 7 [Release 7]
Oracle WebLogic Server - Version 10.3.6 to
Information in this document applies to any platform.


The Java Virtual Machine (JVM) generates native code and stores it in a memory area called the code cache. You can set the code cache size by setting the property -XX:ReservedCodeCacheSize and monitor it by tools like JConsole. When the code cache becomes full, the Java VM flushes and sweeps it. In Java 7 and higher, code cache flushing is enabled by default.

The issue is that sometimes WLS gets slow and uses more CPU resources (but less than 100%) after code cache flushing. After the flushing, the used size of cache stays low (doesn't restart compilation), and the JVM works in interpreter mode. WLS execute threads use CPU resources more than usual and take more time to respond. After restarting the WLS instance, everything is back to normal.


Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms