IBM Support

IJ59790: HEALTH CENTER TRIGGERS UNEXPECTED GLOBAL GC WITH COMPACTION ON Z/OS

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: With Health Center enabled, verbose gc log shows
    global GC with compaction every 30 seconds (reason=rasdump).
    <sys-start reason="rasdump" id="67"
    timestamp="2026-09-03T22:48:33.697" intervalms="30998.808" />
      <compact-info movecount="20808" movebytes="797648"
    reason="rasdump" />
    <sys-start reason="rasdump" id="82"
    timestamp="2026-09-03T22:49:04.698" intervalms="31000.763" />
      <compact-info movecount="1311" movebytes="41984"
    reason="rasdump" />
    .
    Stack Trace: N/A
    .
    

Local fix

  • Set the following JVM option to disable Health Center thread
    data collection:
    -Dcom.ibm.diagnostics.healthcenter.data.threads=off
    Note: This prevents the thread data collection that triggers the
    unexpected GC.
    

Problem summary

  • Health Center collects thread information every 30 seconds using
    
    
    ThreadMXBean.getThreadInfo() with lockedSynchronizers=true. In
    OpenJ9 v0.60 and later, this operation can require the JVM to
    rebuild its internal Ownable Synchronizer list by walking the
    heap, which triggers Global GC with compaction before the heap
    walk can proceed.
    

Problem conclusion

  • Health Center has been updated to stop requesting locked
    synchronizer data, preventing the JVM from triggering a global
    GC with compaction every 30 seconds. A new system property has
    been introduced to allow users to re-enable
    locked synchronizer collection if needed accepting the GC cost.
    
    -Dcom.ibm.java.diagnostics.healthcenter.thread.collection.locked
    
    
    synchronizers=true
    The default value is false.
    .
    This APAR will be fixed in the following Releases:
    .
    IBM Semeru Runtimes
     25              25.0.5.0
     21              21.0.13.0
     17              17.0.21.0
     11              11.0.33.0
    IBM SDK, Java Technology Edition
     8    SR8 FP75  (8.0.8.75)
    .
    Downloads and supplementary documentation can be found at the
    following locations:
    - For non z/OS operating systems:
    - IBM Semeru Runtimes, Version 11 and later
      https://www.ibm.com/semeru-runtimes/downloads/
    - IBM SDK, Java Technology Edition, Version 8
      https://www.ibm.com/support/pages/java-sdk-downloads/
    - For the z/OS operating system:
    - Java SDK Products on z/OS
      https://www.ibm.com/support/pages/java-sdk-products-zos
    

Temporary fix

Comments

APAR Information

  • APAR number

    IJ59790

  • Reported component name

    J9 COMMON CODE

  • Reported component ID

    620700127

  • Reported release

    270

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2026-09-08

  • Closed date

    2026-09-09

  • Last modified date

    2026-09-16

  • 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

    J9 COMMON CODE

  • Fixed component ID

    620700127

Applicable component levels

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]

Document Information

Modified date:
16 September 2026