Analyzing verbose output | Garbage collection analysis tools


Reading verbosegc output


The verbosegc output from WAS V6.1 is stored in the native_stderr.log file. This file is found in the server directory. Verbosegc content has changed formats from Java 1.4.2 to Java 5.

Verbosegc in Java 5 is outputted as xml. The xml format is more difficult for a person to read, but it provides a better format for monitoring and analysis tools to read.

<af type="tenured" 
          id="7" 
          timestamp="Fri Sep 29 12:27:16 2006" 
          intervalms="6384.924">

  <minimum requested_bytes="4194328" />

  <time exclusiveaccessms="0.823" />

  <tenured freebytes="20754960" 
           totalbytes="104857600" 
           percent="19" >

    <soa freebytes="17609232" 
         totalbytes="101711872" 
         percent="17" />

    <loa freebytes="3145728" 
         totalbytes="3145728" 
         percent="100" />

  </tenured>

  <gc type="global" 
      id="7" 
      totalid="7" 
      intervalms="6385.221">

    <compaction movecount="454417" 
                movebytes="36596648" 
                reason="compact to meet allocation" />

    <classloadersunloaded count="0" 
                          timetakenms="3.112" />

    <refs_cleared soft="133" 
                  weak="77" 
                  phantom="1" />

    <finalization objectsqueued="192" />

    <timesms mark="169.897" 
             sweep="4.660" 
             compact="335.373" 
             total="513.365" />

    <tenured freebytes="68253888" 
             totalbytes="104857600" 
             percent="65" >

      <soa freebytes="64059584" 
           totalbytes="100663296" 
           percent="63" />

      <loa freebytes="4194304" 
           totalbytes="4194304" 
           percent="100" />

    </tenured>

  </gc>

  <tenured freebytes="64059560" totalbytes="104857600" percent="61" >

    <soa freebytes="59865256" totalbytes="100663296" percent="59" />
    <loa freebytes="4194304" totalbytes="4194304" percent="100" />
  </tenured>

  <time totalms="514.485" />

</af>


Common tags found in verbosegc output

The cause of each GC event can be discerned by the first tag; in this case, the tag for an allocation failure is <af>. Other causes of GC events are from either a concurrent collection or from a call to System.gc(). Concurrent GC events begin with <con>, while system GC events begin with the <sys> tag.

Tag Description
<af> An allocation failure has occurred
<sys> A call to System.gc() has occurred
<con> A concurrent event has taken place; can be contained within an <af>
<time> Total amount of processor time for a particular event
<minimum> Number of bytes requested that triggered the allocation failure
<nursery> Status of the nursery area
<tenured> Status of the tenured area
<gc> A garbage collection occurred; can be either global or scavenger
<compaction> A compaction occurred
<expansion> Heap expansion occurred

This list of tags is only an overview of the most important ones. For a more detailed description of how to read xml verbosegc, see the Garbage Collector diagnostics in IBM Java 5 Diagnostics Guide.