IZ73689: 64-BIT JAVA RUNS VERY SLOWLY WHEN JIT CODE CACHE IS FULL

Subscribe

You can track all active APARs for this component.

APAR status

Closed as program error.

Error description

Error Message: Running Java 5 or Java 6 on 64-bit platforms, the
JVM's performance is very bad. Profiling shows that most of the
CPU time is spent in the interpreter (j9vm26.dll or
libj9vm26.so) rather than JIT-compiled code. If verbose JIT
tracing is enabled via the -Xjit:verbose option, messages
like this will be printed:
.
<WARNING: JIT CACHES FULL>
.
Stack Trace: N/A
.

Local fix

It may be possible to work around this issue using the
unsupported option -Xjit:codeTotal=131072.

Problem summary

The problem is caused when the JIT code cache becomes full and
all loaded classes are in use (and hence cannot be unloaded to
free up memory). This tends to occur only on 64-bit platforms
due to the larger volume of cached native code.

Problem conclusion

This defect will be fixed in:
6.0.0 SR8
5.0.0 SR12
.
The JIT compiler has been updated to use a different code cache
size threshold for 64-bit platforms. The code cache is grown
dynamically so applications that do not require the space will
not be impacted.
.
To obtain the fix:
Install build 20100402 or later