IBM Support

IV68743: GC STORM INDUCED BY DIRECT BYTE BUFFER (DBB)

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: N/A
    .
    Stack Trace: N/A
    .
    GC storm induced by System.gc in  java.nio.Bits.reserveMemory
    when lot of small allocation request for DBB occurred during
    short time period.
    

Local fix

  • The problem can be alleviated by specifying a larger size as
    maxDirectMemorySize. The size should be good enough to hold the
    maximum DBB size during peak workload. Specifying the
    maxDirectMemorySize can sometimes result in Native Out-of-Memory
    as DBB size do not grow beyond this limit.
    

Problem summary

  • The Direct Byte Buffer (DBB)Garbage Collection (GC) storm can be
    triggered by two reasons:
    
    1) Multiple threads (large number of threads) did the DBB
    allocation request in parallel and resulting in triggering
    System.gc() separately due to unavailability of space.
    
    2) The DBB allocation trigger System.gc() which cleared enough
    space to satisfy the current allocation request. Similarly, many
    requests in the same pattern result in System.gc() to satisfy
    the current request without expanding the DBB space.
    

Problem conclusion

  • The JDK has been updated to use an atomic flag to ensure that
    only one thread issue System.gc() even if multiple threads did
    the DBB allocation in parallel and the remaining threads just
    wait for the current System.gc() to complete and do an expansion
    even if the current System.gc() did not clear enough space for
    other DBB allocation request to succeed. Also, the current
    thread do an expansion if there is not enough space available
    for the subsequent request (pro-active expansion) and there by
    handle the second cause of GC storm.
    .
    This APAR will be fixed in the following Java Releases:
       7    SR9       (7.0.9.0)
       7 R1 SR3       (7.1.3.0)
       8    SR1       (8.0.1.0)
       6 R1 SR8 FP4   (6.1.8.4)
       6    SR16 FP4  (6.0.16.4)
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV68743

  • Reported component name

    JAVA CLASS LIBS

  • Reported component ID

    620700130

  • Reported release

    600

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2015-01-19

  • Closed date

    2015-03-31

  • Last modified date

    2015-04-22

  • 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

    JAVA CLASS LIBS

  • Fixed component ID

    620700130

Applicable component levels

  • R600 PSY

       UP

  • R700 PSY

       UP

  • R800 PSY

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCVQ3Y","label":"Java Class Libraries"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.0","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
22 April 2015