< prev index next >

src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/HeapSummary.java

Print this page




 208    }
 209 
 210    private static String alignment = "   ";
 211 
 212    private void printGen(Generation gen) {
 213       printValMB("capacity = ", gen.capacity());
 214       printValMB("used     = ", gen.used());
 215       printValMB("free     = ", gen.free());
 216       System.out.println(alignment + (double)gen.used() * 100.0 / gen.capacity() + "% used");
 217    }
 218 
 219    private void printSpace(ContiguousSpace space) {
 220       printValMB("capacity = ", space.capacity());
 221       printValMB("used     = ", space.used());
 222       printValMB("free     = ", space.free());
 223       System.out.println(alignment +  (double)space.used() * 100.0 / space.capacity() + "% used");
 224    }
 225 
 226    public void printG1HeapSummary(G1CollectedHeap g1h) {
 227       G1MonitoringSupport g1mm = g1h.g1mm();
 228       long edenSpaceRegionNum = g1mm.edenSpaceRegionNum();
 229       long survivorSpaceRegionNum = g1mm.survivorSpaceRegionNum();
 230       HeapRegionSetBase oldSet = g1h.oldSet();
 231       HeapRegionSetBase archiveSet = g1h.archiveSet();
 232       HeapRegionSetBase humongousSet = g1h.humongousSet();
 233       long oldGenRegionNum = oldSet.length() + archiveSet.length() + humongousSet.length();
 234       printG1Space("G1 Heap:", g1h.n_regions(),
 235                    g1h.used(), g1h.capacity());
 236       System.out.println("G1 Young Generation:");
 237       printG1Space("Eden Space:", edenSpaceRegionNum,
 238                    g1mm.edenSpaceUsed(), g1mm.edenSpaceCommitted());
 239       printG1Space("Survivor Space:", survivorSpaceRegionNum,
 240                    g1mm.survivorSpaceUsed(), g1mm.survivorSpaceCommitted());
 241       printG1Space("G1 Old Generation:", oldGenRegionNum,
 242                    g1mm.oldGenUsed(), g1mm.oldGenCommitted());










 243    }
 244 
 245    private void printG1Space(String spaceName, long regionNum,
 246                              long used, long capacity) {
 247       long free = capacity - used;
 248       System.out.println(spaceName);
 249       printValue("regions  = ", regionNum);
 250       printValMB("capacity = ", capacity);
 251       printValMB("used     = ", used);
 252       printValMB("free     = ", free);
 253       double occPerc = (capacity > 0) ? (double) used * 100.0 / capacity : 0.0;
 254       System.out.println(alignment + occPerc + "% used");
 255    }
 256 
 257    private static final double FACTOR = 1024*1024;
 258    private void printValMB(String title, long value) {
 259       if (value < 0) {
 260         System.out.println(alignment + title +   (value >>> 20)  + " MB");
 261       } else {
 262         double mb = value/FACTOR;




 208    }
 209 
 210    private static String alignment = "   ";
 211 
 212    private void printGen(Generation gen) {
 213       printValMB("capacity = ", gen.capacity());
 214       printValMB("used     = ", gen.used());
 215       printValMB("free     = ", gen.free());
 216       System.out.println(alignment + (double)gen.used() * 100.0 / gen.capacity() + "% used");
 217    }
 218 
 219    private void printSpace(ContiguousSpace space) {
 220       printValMB("capacity = ", space.capacity());
 221       printValMB("used     = ", space.used());
 222       printValMB("free     = ", space.free());
 223       System.out.println(alignment +  (double)space.used() * 100.0 / space.capacity() + "% used");
 224    }
 225 
 226    public void printG1HeapSummary(G1CollectedHeap g1h) {
 227       G1MonitoringSupport g1mm = g1h.g1mm();
 228       printG1Space("G1 Heap:", g1h.n_regions(), g1h.used(), g1h.capacity());







 229       System.out.println("G1 Young Generation:");
 230       printG1Space("Eden Space:", g1mm.edenSpaceRegionNum(),
 231                    g1mm.edenSpaceUsed(), g1mm.edenSpaceCommitted());
 232       printG1Space("Survivor Space:", g1mm.survivorSpaceRegionNum(),
 233                    g1mm.survivorSpaceUsed(), g1mm.survivorSpaceCommitted());
 234       if (g1mm.useLegacyMonitoring()) {
 235           printG1Space("G1 Old Generation:", g1mm.oldSpaceRegionNum(),
 236                        g1mm.oldSpaceUsed(), g1mm.oldSpaceCommitted());
 237       } else {
 238           System.out.println("G1 Old Generation:");
 239           printG1Space("G1 Old Space:", g1mm.oldSpaceRegionNum(),
 240                        g1mm.oldSpaceUsed(), g1mm.oldSpaceCommitted());
 241           printG1Space("G1 Archive Space:", g1mm.archiveSpaceRegionNum(),
 242                        g1mm.archiveSpaceUsed(), g1mm.archiveSpaceCommitted());
 243           printG1Space("G1 Humongous Space:", g1mm.humongousSpaceRegionNum(),
 244                        g1mm.humongousSpaceUsed(), g1mm.humongousSpaceCommitted());
 245       }
 246    }
 247 
 248    private void printG1Space(String spaceName, long regionNum,
 249                              long used, long capacity) {
 250       long free = capacity - used;
 251       System.out.println(spaceName);
 252       printValue("regions  = ", regionNum);
 253       printValMB("capacity = ", capacity);
 254       printValMB("used     = ", used);
 255       printValMB("free     = ", free);
 256       double occPerc = (capacity > 0) ? (double) used * 100.0 / capacity : 0.0;
 257       System.out.println(alignment + occPerc + "% used");
 258    }
 259 
 260    private static final double FACTOR = 1024*1024;
 261    private void printValMB(String title, long value) {
 262       if (value < 0) {
 263         System.out.println(alignment + title +   (value >>> 20)  + " MB");
 264       } else {
 265         double mb = value/FACTOR;


< prev index next >