APAR status
Closed as program error.
Error description
Error Message: After upgrading the JVM to 8 SR5 FP21 or later an unexpected increase in cpu usage may be seen with some applications. . Stack Trace: N/A .
Local fix
Profiling will typically indicate that a single method is consuming most of the cpu. For an example method "package.Classname.methodname" the following command line option will reduce the time spent in a method exhibiting this problem: -Xjit:{package/Classname.methodname(*}(disableInlineCheckcast),d ontInline={package/Classname.methodname(*} Note that there can only be one Xjit option that is active on the command line, so if there is already an existing Xjit: it will need to be merged with the above.
Problem summary
This is a rare problem caused by a change to the JIT compiler in release 8 SR5 FP21 which affects x86 platforms only. The change introduced a class cache slot for inlined instanceof and checkcast sequences that is updated with the most recent match. In cases where a specific instanceof test is exposed to multiple matching values, and the code is actively running in a heavily multithreaded application, the continual updates of the class cache slot result in poor performance due to the resulting cache coherency overheads. Instruction level profiling will show an extremely high number of cpu ticks on a small number of memory access instructions at PC relative addresses, i.e. to data stored at the end of the method body. Note that the ticks can be for any access into the same cache line as the contended class location, which can make the diagnosis a little more confusing.
Problem conclusion
The JIT is updated to avoid contention on a cache slot for the class in instanceof and checkcast tests. . This APAR will be fixed in the following Releases: . IBM SDK, Java Technology Edition 8 SR7 FP15 (8.0.7.15) . Contact your IBM Product's Service Team for these Service Refreshes and Fix Packs. For those running stand-alone, information about the available maintenance can be found at: https://www.ibm.com/support/pages/java-sdk
Temporary fix
Comments
APAR Information
APAR number
IJ38083
Reported component name
JIT
Reported component ID
620700124
Reported release
130
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2022-02-24
Closed date
2022-06-09
Last modified date
2022-06-09
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
JIT
Fixed component ID
620700124
Applicable component levels
[{"Line of Business":{"code":"LOB36","label":"IBM Automation"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"130"}]
Document Information
Modified date:
10 June 2022