IBM Support

IV42295: OBJECT ALIGNMENT MAY INCREASE FRAGMENTATION FOR LARGE OBJECTS

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: Fragmentation can be observed from the verbose GC
    log. For example:
    
            <gc-op id="2439" type="scavenge" timems="380.972"
    contextid="2436"
               timestamp="2013-05-01T16:42:49.615">
              ............
              <copy-failed type="tenure" objects="1567"
    bytes="78462824" />
              <warning details="aborted collection due to
    insufficient free space" />
            </gc-op>
            <gc-end id="2440" type="scavenge" contextid="2436"
    durationms="381.238"
               timestamp="2013-05-01T16:42:49.615">
               <mem-info id="2441" free="287701272"
    total="2030829568" percent="14">
               ............
               <mem type="tenure" free="287701272"
    total="1744764928" percent="16" />
               ............
              </mem-info>
            </gc-end>
    
            There was 287MB of free memory in tenure after a
    scavenge. However, GC failed
            to tenure 78MB of objects (of average size 78462824/1567
    = 50072 bytes).
            Clearly, the failures to tenure are not to the lack of
    free memory but inability
            to tenure lager objects of 50KB in a fragmented memory.
    
            If this occurs, next scavenge will 'precolate' to a
    global collection, that will
            likely compact the heap:
    
            <percolate-collect id="2443" from="nursery" to="global"
               reason="Previous scavenge failed to expand"
               timestamp="2013-05-01T16:42:49.615"/>
            ............
            <gc-op id="2450" type="compact" timems="1079.814"
    contextid="2444"
               timestamp="2013-05-01T16:42:51.007">
               <compact-info movecount="450116"
    movebytes="1078382008"
                  reason="compact on aggressive collection" />
            </gc-op>
    
            While the symptoms above are common for heap
    fragmentation regardless of of
            type/source, this specific fragmentation was introduced
    in Java 7 SR4.
    .
    Stack Trace: N/A
    .
    

Local fix

Problem summary

  • Due to object alignment large objects may require more memory
    than before.
            This may cause of these objects to have different sizes.
     These different sizes
            can lead to heap fragmentation when these objects die.
    

Problem conclusion

  • This defect will be fixed in:
    7.0.0 SR5
    6.0.1 SR6
    .
            The JVM has been updated to minimize fragmentation
    caused by object alignment.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV42295

  • Reported component name

    J9 COMMON CODE

  • Reported component ID

    620700127

  • Reported release

    260

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-05-09

  • Closed date

    2013-05-13

  • Last modified date

    2013-06-14

  • 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

  • R260 PSY

       UP

[{"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":"6.1","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
21 February 2022