#!/bin/sh # Script that reads in output generated by Java -Xloggc and generates a # memory usage report. # # @Authors: Steve Neuendorffer # # @Version: $Id: gcstats 36425 2005-02-28 20:51:43Z cxh $ # # @Copyright (c) 1997-2005 The Regents of the University of California. # All rights reserved. # # Permission is hereby granted, without written agreement and without # license or royalty fees, to use, copy, modify, and distribute this # software and its documentation for any purpose, provided that the # above copyright notice and the following two paragraphs appear in all # copies of this software. # # IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY # FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES # ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF # THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # # THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE # PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF # CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, # ENHANCEMENTS, OR MODIFICATIONS. # # PT_COPYRIGHT_VERSION_2 # COPYRIGHTENDKEY # Lines look like # 1.67619e-006: [Full GC 508K->160K(260160K), 0.0135542 secs] gawk 'BEGIN {FS="K|>| "} # accumulate GC lines /\[Full GC/ { fullCount++; endingMemory=$6 totalMemory=totalMemory+$4-$6 } # accumulate GC lines /\[GC/ { gcCount++; endingMemory=$5 totalMemory=totalMemory+$3-$5 } END { print "GCStats: totalStatic: " endingMemory "K dynamicRT: " totalMemory "K" }' -