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 |