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 |