< prev index next >

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

Print this page




  64       System.out.println();
  65       printGCAlgorithm(flagMap);
  66       System.out.println();
  67       System.out.println("Heap Configuration:");
  68       printValue("MinHeapFreeRatio         = ", getFlagValue("MinHeapFreeRatio", flagMap));
  69       printValue("MaxHeapFreeRatio         = ", getFlagValue("MaxHeapFreeRatio", flagMap));
  70       printValMB("MaxHeapSize              = ", getFlagValue("MaxHeapSize", flagMap));
  71       printValMB("NewSize                  = ", getFlagValue("NewSize", flagMap));
  72       printValMB("MaxNewSize               = ", getFlagValue("MaxNewSize", flagMap));
  73       printValMB("OldSize                  = ", getFlagValue("OldSize", flagMap));
  74       printValue("NewRatio                 = ", getFlagValue("NewRatio", flagMap));
  75       printValue("SurvivorRatio            = ", getFlagValue("SurvivorRatio", flagMap));
  76       printValMB("MetaspaceSize            = ", getFlagValue("MetaspaceSize", flagMap));
  77       printValMB("CompressedClassSpaceSize = ", getFlagValue("CompressedClassSpaceSize", flagMap));
  78       printValMB("MaxMetaspaceSize         = ", getFlagValue("MaxMetaspaceSize", flagMap));
  79       printValMB("G1HeapRegionSize         = ", HeapRegion.grainBytes());
  80 
  81       System.out.println();
  82       System.out.println("Heap Usage:");
  83 
  84       if (heap instanceof SharedHeap) {
  85          SharedHeap sharedHeap = (SharedHeap) heap;
  86          if (sharedHeap instanceof GenCollectedHeap) {
  87             GenCollectedHeap genHeap = (GenCollectedHeap) sharedHeap;
  88             for (int n = 0; n < genHeap.nGens(); n++) {
  89                Generation gen = genHeap.getGen(n);
  90                if (gen instanceof sun.jvm.hotspot.memory.DefNewGeneration) {
  91                   System.out.println("New Generation (Eden + 1 Survivor Space):");
  92                   printGen(gen);
  93 
  94                   ContiguousSpace eden = ((DefNewGeneration)gen).eden();
  95                   System.out.println("Eden Space:");
  96                   printSpace(eden);
  97 
  98                   ContiguousSpace from = ((DefNewGeneration)gen).from();
  99                   System.out.println("From Space:");
 100                   printSpace(from);
 101 
 102                   ContiguousSpace to = ((DefNewGeneration)gen).to();
 103                   System.out.println("To Space:");
 104                   printSpace(to);
 105                } else {
 106                   System.out.println(gen.name() + ":");
 107                   printGen(gen);
 108                }
 109             }
 110          } else if (sharedHeap instanceof G1CollectedHeap) {
 111              G1CollectedHeap g1h = (G1CollectedHeap) sharedHeap;
 112              G1MonitoringSupport g1mm = g1h.g1mm();
 113              long edenRegionNum = g1mm.edenRegionNum();
 114              long survivorRegionNum = g1mm.survivorRegionNum();
 115              HeapRegionSetBase oldSet = g1h.oldSet();
 116              HeapRegionSetBase humongousSet = g1h.humongousSet();
 117              long oldRegionNum = oldSet.count().length()
 118                           + humongousSet.count().capacity() / HeapRegion.grainBytes();
 119              printG1Space("G1 Heap:", g1h.n_regions(),
 120                           g1h.used(), g1h.capacity());
 121              System.out.println("G1 Young Generation:");
 122              printG1Space("Eden Space:", edenRegionNum,
 123                           g1mm.edenUsed(), g1mm.edenCommitted());
 124              printG1Space("Survivor Space:", survivorRegionNum,
 125                           g1mm.survivorUsed(), g1mm.survivorCommitted());
 126              printG1Space("G1 Old Generation:", oldRegionNum,
 127                           g1mm.oldUsed(), g1mm.oldCommitted());
 128          } else {
 129              throw new RuntimeException("unknown SharedHeap type : " + heap.getClass());
 130          }
 131       } else if (heap instanceof ParallelScavengeHeap) {
 132          ParallelScavengeHeap psh = (ParallelScavengeHeap) heap;
 133          PSYoungGen youngGen = psh.youngGen();
 134          printPSYoungGen(youngGen);
 135 
 136          PSOldGen oldGen = psh.oldGen();
 137          long oldFree = oldGen.capacity() - oldGen.used();
 138          System.out.println("PS Old Generation");
 139          printValMB("capacity = ", oldGen.capacity());
 140          printValMB("used     = ", oldGen.used());
 141          printValMB("free     = ", oldFree);
 142          System.out.println(alignment + (double)oldGen.used() * 100.0 / oldGen.capacity() + "% used");
 143       } else {
 144          throw new RuntimeException("unknown CollectedHeap type : " + heap.getClass());
 145       }
 146 
 147       System.out.println();
 148       printInternStringStatistics();
 149    }
 150 




  64       System.out.println();
  65       printGCAlgorithm(flagMap);
  66       System.out.println();
  67       System.out.println("Heap Configuration:");
  68       printValue("MinHeapFreeRatio         = ", getFlagValue("MinHeapFreeRatio", flagMap));
  69       printValue("MaxHeapFreeRatio         = ", getFlagValue("MaxHeapFreeRatio", flagMap));
  70       printValMB("MaxHeapSize              = ", getFlagValue("MaxHeapSize", flagMap));
  71       printValMB("NewSize                  = ", getFlagValue("NewSize", flagMap));
  72       printValMB("MaxNewSize               = ", getFlagValue("MaxNewSize", flagMap));
  73       printValMB("OldSize                  = ", getFlagValue("OldSize", flagMap));
  74       printValue("NewRatio                 = ", getFlagValue("NewRatio", flagMap));
  75       printValue("SurvivorRatio            = ", getFlagValue("SurvivorRatio", flagMap));
  76       printValMB("MetaspaceSize            = ", getFlagValue("MetaspaceSize", flagMap));
  77       printValMB("CompressedClassSpaceSize = ", getFlagValue("CompressedClassSpaceSize", flagMap));
  78       printValMB("MaxMetaspaceSize         = ", getFlagValue("MaxMetaspaceSize", flagMap));
  79       printValMB("G1HeapRegionSize         = ", HeapRegion.grainBytes());
  80 
  81       System.out.println();
  82       System.out.println("Heap Usage:");
  83 
  84       if (heap instanceof GenCollectedHeap) {
  85          GenCollectedHeap genHeap = (GenCollectedHeap) heap;


  86          for (int n = 0; n < genHeap.nGens(); n++) {
  87             Generation gen = genHeap.getGen(n);
  88             if (gen instanceof sun.jvm.hotspot.memory.DefNewGeneration) {
  89                System.out.println("New Generation (Eden + 1 Survivor Space):");
  90                printGen(gen);
  91 
  92                ContiguousSpace eden = ((DefNewGeneration)gen).eden();
  93                System.out.println("Eden Space:");
  94                printSpace(eden);
  95 
  96                ContiguousSpace from = ((DefNewGeneration)gen).from();
  97                System.out.println("From Space:");
  98                printSpace(from);
  99 
 100                ContiguousSpace to = ((DefNewGeneration)gen).to();
 101                System.out.println("To Space:");
 102                printSpace(to);
 103             } else {
 104                System.out.println(gen.name() + ":");
 105                printGen(gen);
 106             }
 107          }
 108       } else if (heap instanceof G1CollectedHeap) {
 109           G1CollectedHeap g1h = (G1CollectedHeap) heap;
 110           G1MonitoringSupport g1mm = g1h.g1mm();
 111           long edenRegionNum = g1mm.edenRegionNum();
 112           long survivorRegionNum = g1mm.survivorRegionNum();
 113           HeapRegionSetBase oldSet = g1h.oldSet();
 114           HeapRegionSetBase humongousSet = g1h.humongousSet();
 115           long oldRegionNum = oldSet.count().length()
 116                        + humongousSet.count().capacity() / HeapRegion.grainBytes();
 117           printG1Space("G1 Heap:", g1h.n_regions(),
 118                        g1h.used(), g1h.capacity());
 119           System.out.println("G1 Young Generation:");
 120           printG1Space("Eden Space:", edenRegionNum,
 121                        g1mm.edenUsed(), g1mm.edenCommitted());
 122           printG1Space("Survivor Space:", survivorRegionNum,
 123                        g1mm.survivorUsed(), g1mm.survivorCommitted());
 124           printG1Space("G1 Old Generation:", oldRegionNum,
 125                        g1mm.oldUsed(), g1mm.oldCommitted());



 126       } else if (heap instanceof ParallelScavengeHeap) {
 127          ParallelScavengeHeap psh = (ParallelScavengeHeap) heap;
 128          PSYoungGen youngGen = psh.youngGen();
 129          printPSYoungGen(youngGen);
 130 
 131          PSOldGen oldGen = psh.oldGen();
 132          long oldFree = oldGen.capacity() - oldGen.used();
 133          System.out.println("PS Old Generation");
 134          printValMB("capacity = ", oldGen.capacity());
 135          printValMB("used     = ", oldGen.used());
 136          printValMB("free     = ", oldFree);
 137          System.out.println(alignment + (double)oldGen.used() * 100.0 / oldGen.capacity() + "% used");
 138       } else {
 139          throw new RuntimeException("unknown CollectedHeap type : " + heap.getClass());
 140       }
 141 
 142       System.out.println();
 143       printInternStringStatistics();
 144    }
 145 


< prev index next >