Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (322)
Collections:
Other Resources:
JDK 11 jdk.hotspot.agent.jmod - Hotspot Agent Module
JDK 11 jdk.hotspot.agent.jmod is the JMOD file for JDK 11 Hotspot Agent module.
JDK 11 Hotspot Agent module compiled class files are stored in \fyicenter\jdk-11.0.1\jmods\jdk.hotspot.agent.jmod.
JDK 11 Hotspot Agent module compiled class files are also linked and stored in the \fyicenter\jdk-11.0.1\lib\modules JImage file.
JDK 11 Hotspot Agent module source code files are stored in \fyicenter\jdk-11.0.1\lib\src.zip\jdk.hotspot.agent.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ sun/jvm/hotspot/tools/HeapSummary.java
/*
* Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package sun.jvm.hotspot.tools;
import java.util.*;
import sun.jvm.hotspot.gc.epsilon.*;
import sun.jvm.hotspot.gc.g1.*;
import sun.jvm.hotspot.gc.parallel.*;
import sun.jvm.hotspot.gc.serial.*;
import sun.jvm.hotspot.gc.shared.*;
import sun.jvm.hotspot.gc.z.*;
import sun.jvm.hotspot.debugger.JVMDebugger;
import sun.jvm.hotspot.memory.*;
import sun.jvm.hotspot.oops.*;
import sun.jvm.hotspot.runtime.*;
public class HeapSummary extends Tool {
public HeapSummary() {
super();
}
public HeapSummary(JVMDebugger d) {
super(d);
}
public static void main(String[] args) {
HeapSummary hs = new HeapSummary();
hs.execute(args);
}
@Override
public String getName() {
return "heapSummary";
}
public void run() {
CollectedHeap heap = VM.getVM().getUniverse().heap();
VM.Flag[] flags = VM.getVM().getCommandLineFlags();
Map flagMap = new HashMap();
if (flags == null) {
System.out.println("WARNING: command line flags are not available");
} else {
for (int f = 0; f < flags.length; f++) {
flagMap.put(flags[f].getName(), flags[f]);
}
}
System.out.println();
printGCAlgorithm(flagMap);
System.out.println();
System.out.println("Heap Configuration:");
printValue("MinHeapFreeRatio = ", getFlagValue("MinHeapFreeRatio", flagMap));
printValue("MaxHeapFreeRatio = ", getFlagValue("MaxHeapFreeRatio", flagMap));
printValMB("MaxHeapSize = ", getFlagValue("MaxHeapSize", flagMap));
printValMB("NewSize = ", getFlagValue("NewSize", flagMap));
printValMB("MaxNewSize = ", getFlagValue("MaxNewSize", flagMap));
printValMB("OldSize = ", getFlagValue("OldSize", flagMap));
printValue("NewRatio = ", getFlagValue("NewRatio", flagMap));
printValue("SurvivorRatio = ", getFlagValue("SurvivorRatio", flagMap));
printValMB("MetaspaceSize = ", getFlagValue("MetaspaceSize", flagMap));
printValMB("CompressedClassSpaceSize = ", getFlagValue("CompressedClassSpaceSize", flagMap));
printValMB("MaxMetaspaceSize = ", getFlagValue("MaxMetaspaceSize", flagMap));
printValMB("G1HeapRegionSize = ", HeapRegion.grainBytes());
System.out.println();
System.out.println("Heap Usage:");
if (heap instanceof GenCollectedHeap) {
GenCollectedHeap genHeap = (GenCollectedHeap) heap;
for (int n = 0; n < genHeap.nGens(); n++) {
Generation gen = genHeap.getGen(n);
if (gen instanceof DefNewGeneration) {
System.out.println("New Generation (Eden + 1 Survivor Space):");
printGen(gen);
ContiguousSpace eden = ((DefNewGeneration)gen).eden();
System.out.println("Eden Space:");
printSpace(eden);
ContiguousSpace from = ((DefNewGeneration)gen).from();
System.out.println("From Space:");
printSpace(from);
ContiguousSpace to = ((DefNewGeneration)gen).to();
System.out.println("To Space:");
printSpace(to);
} else {
System.out.println(gen.name() + ":");
printGen(gen);
}
}
} else if (heap instanceof G1CollectedHeap) {
printG1HeapSummary((G1CollectedHeap)heap);
} else if (heap instanceof ParallelScavengeHeap) {
ParallelScavengeHeap psh = (ParallelScavengeHeap) heap;
PSYoungGen youngGen = psh.youngGen();
printPSYoungGen(youngGen);
PSOldGen oldGen = psh.oldGen();
long oldFree = oldGen.capacity() - oldGen.used();
System.out.println("PS Old Generation");
printValMB("capacity = ", oldGen.capacity());
printValMB("used = ", oldGen.used());
printValMB("free = ", oldFree);
System.out.println(alignment + (double)oldGen.used() * 100.0 / oldGen.capacity() + "% used");
} else if (heap instanceof EpsilonHeap) {
EpsilonHeap eh = (EpsilonHeap) heap;
printSpace(eh.space());
} else if (heap instanceof ZCollectedHeap) {
ZCollectedHeap zheap = (ZCollectedHeap) heap;
zheap.printOn(System.out);
} else {
throw new RuntimeException("unknown CollectedHeap type : " + heap.getClass());
}
System.out.println();
}
// Helper methods
private void printGCAlgorithm(Map flagMap) {
long l = getFlagValue("UseTLAB", flagMap);
if (l == 1L) {
System.out.println("using thread-local object allocation.");
}
l = getFlagValue("UseConcMarkSweepGC", flagMap);
if (l == 1L) {
System.out.println("Concurrent Mark-Sweep GC");
return;
}
l = getFlagValue("UseParallelGC", flagMap);
if (l == 1L) {
System.out.print("Parallel GC ");
l = getFlagValue("ParallelGCThreads", flagMap);
System.out.println("with " + l + " thread(s)");
return;
}
l = getFlagValue("UseG1GC", flagMap);
if (l == 1L) {
System.out.print("Garbage-First (G1) GC ");
l = getFlagValue("ParallelGCThreads", flagMap);
System.out.println("with " + l + " thread(s)");
return;
}
l = getFlagValue("UseEpsilonGC", flagMap);
if (l == 1L) {
System.out.println("Epsilon (no-op) GC");
return;
}
l = getFlagValue("UseZGC", flagMap);
if (l == 1L) {
System.out.print("ZGC ");
l = getFlagValue("ParallelGCThreads", flagMap);
System.out.println("with " + l + " thread(s)");
return;
}
System.out.println("Mark Sweep Compact GC");
}
private void printPSYoungGen(PSYoungGen youngGen) {
System.out.println("PS Young Generation");
MutableSpace eden = youngGen.edenSpace();
System.out.println("Eden Space:");
printMutableSpace(eden);
MutableSpace from = youngGen.fromSpace();
System.out.println("From Space:");
printMutableSpace(from);
MutableSpace to = youngGen.toSpace();
System.out.println("To Space:");
printMutableSpace(to);
}
private void printMutableSpace(MutableSpace space) {
printValMB("capacity = ", space.capacity());
printValMB("used = ", space.used());
long free = space.capacity() - space.used();
printValMB("free = ", free);
System.out.println(alignment + (double)space.used() * 100.0 / space.capacity() + "% used");
}
private static String alignment = " ";
private void printGen(Generation gen) {
printValMB("capacity = ", gen.capacity());
printValMB("used = ", gen.used());
printValMB("free = ", gen.free());
System.out.println(alignment + (double)gen.used() * 100.0 / gen.capacity() + "% used");
}
private void printSpace(ContiguousSpace space) {
printValMB("capacity = ", space.capacity());
printValMB("used = ", space.used());
printValMB("free = ", space.free());
System.out.println(alignment + (double)space.used() * 100.0 / space.capacity() + "% used");
}
public void printG1HeapSummary(G1CollectedHeap g1h) {
G1MonitoringSupport g1mm = g1h.g1mm();
long edenRegionNum = g1mm.edenRegionNum();
long survivorRegionNum = g1mm.survivorRegionNum();
HeapRegionSetBase oldSet = g1h.oldSet();
HeapRegionSetBase humongousSet = g1h.humongousSet();
long oldRegionNum = oldSet.length() + humongousSet.length();
printG1Space("G1 Heap:", g1h.n_regions(),
g1h.used(), g1h.capacity());
System.out.println("G1 Young Generation:");
printG1Space("Eden Space:", edenRegionNum,
g1mm.edenUsed(), g1mm.edenCommitted());
printG1Space("Survivor Space:", survivorRegionNum,
g1mm.survivorUsed(), g1mm.survivorCommitted());
printG1Space("G1 Old Generation:", oldRegionNum,
g1mm.oldUsed(), g1mm.oldCommitted());
}
private void printG1Space(String spaceName, long regionNum,
long used, long capacity) {
long free = capacity - used;
System.out.println(spaceName);
printValue("regions = ", regionNum);
printValMB("capacity = ", capacity);
printValMB("used = ", used);
printValMB("free = ", free);
double occPerc = (capacity > 0) ? (double) used * 100.0 / capacity : 0.0;
System.out.println(alignment + occPerc + "% used");
}
private static final double FACTOR = 1024*1024;
private void printValMB(String title, long value) {
if (value < 0) {
System.out.println(alignment + title + (value >>> 20) + " MB");
} else {
double mb = value/FACTOR;
System.out.println(alignment + title + value + " (" + mb + "MB)");
}
}
private void printValue(String title, long value) {
System.out.println(alignment + title + value);
}
private long getFlagValue(String name, Map flagMap) {
VM.Flag f = (VM.Flag) flagMap.get(name);
if (f != null) {
if (f.isBool()) {
return f.getBool()? 1L : 0L;
} else {
return Long.parseLong(f.getValue());
}
} else {
return -1;
}
}
}
⏎ sun/jvm/hotspot/tools/HeapSummary.java
Or download all of them as a single archive file:
File name: jdk.hotspot.agent-11.0.1-src.zip File size: 1243786 bytes Release date: 2018-11-04 Download
⇒ JDK 11 jdk.httpserver.jmod - HTTP Server Module
2020-02-29, ≈300🔥, 0💬
Popular Posts:
What Is log4j-1.2.15.jar? I got the JAR file from apache-log4j-1.2.15.zip. log4j-1.2.15.jar is the v...
What Is poi-examples-5.2.3.jar? poi-examples-5.2.3.jar is one of the JAR files for Apache POI 5.2.3,...
What Is commons-collections4-4.4 .jar?commons-collections4-4.4 .jaris the JAR file for Apache Common...
How to download and install JDK (Java Development Kit) 1.4? If you want to write Java applications, ...
JDK 6 tools.jar is the JAR file for JDK 6 tools. It contains Java classes to support different JDK t...