hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/HeapSummary.java
changeset 30154 39cd4e2ccf1c
parent 23450 c7c6202fc7e2
child 30764 fec48bf5a827
equal deleted inserted replaced
30153:596ed88949ad 30154:39cd4e2ccf1c
    79       printValMB("G1HeapRegionSize         = ", HeapRegion.grainBytes());
    79       printValMB("G1HeapRegionSize         = ", HeapRegion.grainBytes());
    80 
    80 
    81       System.out.println();
    81       System.out.println();
    82       System.out.println("Heap Usage:");
    82       System.out.println("Heap Usage:");
    83 
    83 
    84       if (heap instanceof SharedHeap) {
    84       if (heap instanceof GenCollectedHeap) {
    85          SharedHeap sharedHeap = (SharedHeap) heap;
    85          GenCollectedHeap genHeap = (GenCollectedHeap) heap;
    86          if (sharedHeap instanceof GenCollectedHeap) {
    86          for (int n = 0; n < genHeap.nGens(); n++) {
    87             GenCollectedHeap genHeap = (GenCollectedHeap) sharedHeap;
    87             Generation gen = genHeap.getGen(n);
    88             for (int n = 0; n < genHeap.nGens(); n++) {
    88             if (gen instanceof sun.jvm.hotspot.memory.DefNewGeneration) {
    89                Generation gen = genHeap.getGen(n);
    89                System.out.println("New Generation (Eden + 1 Survivor Space):");
    90                if (gen instanceof sun.jvm.hotspot.memory.DefNewGeneration) {
    90                printGen(gen);
    91                   System.out.println("New Generation (Eden + 1 Survivor Space):");
    91 
    92                   printGen(gen);
    92                ContiguousSpace eden = ((DefNewGeneration)gen).eden();
    93 
    93                System.out.println("Eden Space:");
    94                   ContiguousSpace eden = ((DefNewGeneration)gen).eden();
    94                printSpace(eden);
    95                   System.out.println("Eden Space:");
    95 
    96                   printSpace(eden);
    96                ContiguousSpace from = ((DefNewGeneration)gen).from();
    97 
    97                System.out.println("From Space:");
    98                   ContiguousSpace from = ((DefNewGeneration)gen).from();
    98                printSpace(from);
    99                   System.out.println("From Space:");
    99 
   100                   printSpace(from);
   100                ContiguousSpace to = ((DefNewGeneration)gen).to();
   101 
   101                System.out.println("To Space:");
   102                   ContiguousSpace to = ((DefNewGeneration)gen).to();
   102                printSpace(to);
   103                   System.out.println("To Space:");
   103             } else {
   104                   printSpace(to);
   104                System.out.println(gen.name() + ":");
   105                } else {
   105                printGen(gen);
   106                   System.out.println(gen.name() + ":");
       
   107                   printGen(gen);
       
   108                }
       
   109             }
   106             }
   110          } else if (sharedHeap instanceof G1CollectedHeap) {
   107          }
   111              G1CollectedHeap g1h = (G1CollectedHeap) sharedHeap;
   108       } else if (heap instanceof G1CollectedHeap) {
   112              G1MonitoringSupport g1mm = g1h.g1mm();
   109           G1CollectedHeap g1h = (G1CollectedHeap) heap;
   113              long edenRegionNum = g1mm.edenRegionNum();
   110           G1MonitoringSupport g1mm = g1h.g1mm();
   114              long survivorRegionNum = g1mm.survivorRegionNum();
   111           long edenRegionNum = g1mm.edenRegionNum();
   115              HeapRegionSetBase oldSet = g1h.oldSet();
   112           long survivorRegionNum = g1mm.survivorRegionNum();
   116              HeapRegionSetBase humongousSet = g1h.humongousSet();
   113           HeapRegionSetBase oldSet = g1h.oldSet();
   117              long oldRegionNum = oldSet.count().length()
   114           HeapRegionSetBase humongousSet = g1h.humongousSet();
   118                           + humongousSet.count().capacity() / HeapRegion.grainBytes();
   115           long oldRegionNum = oldSet.count().length()
   119              printG1Space("G1 Heap:", g1h.n_regions(),
   116                        + humongousSet.count().capacity() / HeapRegion.grainBytes();
   120                           g1h.used(), g1h.capacity());
   117           printG1Space("G1 Heap:", g1h.n_regions(),
   121              System.out.println("G1 Young Generation:");
   118                        g1h.used(), g1h.capacity());
   122              printG1Space("Eden Space:", edenRegionNum,
   119           System.out.println("G1 Young Generation:");
   123                           g1mm.edenUsed(), g1mm.edenCommitted());
   120           printG1Space("Eden Space:", edenRegionNum,
   124              printG1Space("Survivor Space:", survivorRegionNum,
   121                        g1mm.edenUsed(), g1mm.edenCommitted());
   125                           g1mm.survivorUsed(), g1mm.survivorCommitted());
   122           printG1Space("Survivor Space:", survivorRegionNum,
   126              printG1Space("G1 Old Generation:", oldRegionNum,
   123                        g1mm.survivorUsed(), g1mm.survivorCommitted());
   127                           g1mm.oldUsed(), g1mm.oldCommitted());
   124           printG1Space("G1 Old Generation:", oldRegionNum,
   128          } else {
   125                        g1mm.oldUsed(), g1mm.oldCommitted());
   129              throw new RuntimeException("unknown SharedHeap type : " + heap.getClass());
       
   130          }
       
   131       } else if (heap instanceof ParallelScavengeHeap) {
   126       } else if (heap instanceof ParallelScavengeHeap) {
   132          ParallelScavengeHeap psh = (ParallelScavengeHeap) heap;
   127          ParallelScavengeHeap psh = (ParallelScavengeHeap) heap;
   133          PSYoungGen youngGen = psh.youngGen();
   128          PSYoungGen youngGen = psh.youngGen();
   134          printPSYoungGen(youngGen);
   129          printPSYoungGen(youngGen);
   135 
   130