-
-
Save liupc/c37c421bc731e472b45ff2008dac44fc to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
java.ci.totalTime = 8135593 | |
java.cls.loadedClasses = 3053 | |
java.cls.sharedLoadedClasses = 0 | |
java.cls.sharedUnloadedClasses = 0 | |
java.cls.unloadedClasses = 0 | |
java.property.java.class.path = C:/Program Files (x86)/IDEA 2017.1/lib/jps-launcher.jar;C:/Program Files/Java/jdk1.8.0_102/lib/tools.jar;C:/Program Files (x86)/IDEA 2017.1/lib/optimizedFileManager.jar | |
java.property.java.endorsed.dirs = "" | |
java.property.java.ext.dirs = C:\Program Files\Java\jdk1.8.0_102\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext | |
java.property.java.home = C:\Program Files\Java\jdk1.8.0_102\jre | |
java.property.java.library.path = C:\Program Files\Java\jdk1.8.0_102\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS | |
java.property.java.version = 1.8.0_102 | |
java.property.java.vm.info = mixed mode | |
java.property.java.vm.name = Java HotSpot(TM) 64-Bit Server VM | |
java.property.java.vm.specification.name = Java Virtual Machine Specification | |
java.property.java.vm.specification.vendor = Oracle Corporation | |
java.property.java.vm.specification.version = 1.8 | |
java.property.java.vm.vendor = Oracle Corporation | |
java.property.java.vm.version = 25.102-b14 | |
java.rt.vmArgs = -Xmx700m -Djava.awt.headless=true -Djava.endorsed.dirs="" -Djava.net.preferIPv4Stack=true | |
java.rt.vmFlags = | |
java.threads.daemon = 5 | |
java.threads.live = 7 | |
java.threads.livePeak = 11 | |
java.threads.started = 12 | |
sun.ci.compilerThread.0.compiles = 137 | |
sun.ci.compilerThread.0.method = | |
sun.ci.compilerThread.0.time = 84 | |
sun.ci.compilerThread.0.type = 1 | |
sun.ci.compilerThread.1.compiles = 83 | |
sun.ci.compilerThread.1.method = | |
sun.ci.compilerThread.1.time = 141 | |
sun.ci.compilerThread.1.type = 1 | |
sun.ci.compilerThread.2.compiles = 1197 | |
sun.ci.compilerThread.2.method = | |
sun.ci.compilerThread.2.time = 483 | |
sun.ci.compilerThread.2.type = 1 | |
sun.ci.lastFailedMethod = sun/misc/URLClassPath$JarLoader getResource | |
sun.ci.lastFailedType = 1 | |
sun.ci.lastInvalidatedMethod = | |
sun.ci.lastInvalidatedType = 0 | |
sun.ci.lastMethod = io/netty/channel/nio/NioEventLoop select | |
sun.ci.lastSize = 803 | |
sun.ci.lastType = 1 | |
sun.ci.nmethodCodeSize = 2203488 | |
sun.ci.nmethodSize = 3634736 | |
sun.ci.osrBytes = 2648 | |
sun.ci.osrCompiles = 5 | |
sun.ci.osrTime = 212524 | |
sun.ci.standardBytes = 193843 | |
sun.ci.standardCompiles = 1410 | |
sun.ci.standardTime = 7923069 | |
sun.ci.threads = 3 | |
sun.ci.totalBailouts = 2 | |
sun.ci.totalCompiles = 1415 | |
sun.ci.totalInvalidates = 0 | |
sun.classloader.findClassTime = 1561767971 | |
sun.classloader.findClasses = 1742 | |
sun.classloader.parentDelegationTime = 310208916 | |
sun.cls.appClassBytes = 7153134 | |
sun.cls.appClassLoadCount = 2096 | |
sun.cls.appClassLoadTime = 3983933 | |
sun.cls.appClassLoadTime.self = 2026183 | |
sun.cls.classInitTime = 4704107 | |
sun.cls.classInitTime.self = 2235415 | |
sun.cls.classLinkedTime = 2633438 | |
sun.cls.classLinkedTime.self = 410722 | |
sun.cls.classVerifyTime = 2223139 | |
sun.cls.classVerifyTime.self = 789936 | |
sun.cls.defineAppClassTime = 1380705 | |
sun.cls.defineAppClassTime.self = 91952 | |
sun.cls.defineAppClasses = 1755 | |
sun.cls.initializedClasses = 2216 | |
sun.cls.isUnsyncloadClassSet = 0 | |
sun.cls.jniDefineClassNoLockCalls = 7 | |
sun.cls.jvmDefineClassNoLockCalls = 1752 | |
sun.cls.jvmFindLoadedClassNoLockCalls = 6386 | |
sun.cls.linkedClasses = 2602 | |
sun.cls.loadInstanceClassFailRate = 0 | |
sun.cls.loadedBytes = 5850872 | |
sun.cls.lookupSysClassTime = 289125 | |
sun.cls.methodBytes = 3064672 | |
sun.cls.nonSystemLoaderLockContentionRate = 0 | |
sun.cls.parseClassTime = 1726329 | |
sun.cls.parseClassTime.self = 1352678 | |
sun.cls.sharedClassLoadTime = 969 | |
sun.cls.sharedLoadedBytes = 0 | |
sun.cls.sharedUnloadedBytes = 0 | |
sun.cls.sysClassBytes = 4070355 | |
sun.cls.sysClassLoadTime = 869322 | |
sun.cls.systemLoaderLockContentionRate = 0 | |
sun.cls.time = 7960542 | |
sun.cls.unloadedBytes = 0 | |
sun.cls.unsafeDefineClassCalls = 85 | |
sun.cls.verifiedClasses = 2582 | |
sun.gc.cause = No GC | |
sun.gc.collector.0.invocations = 2 | |
sun.gc.collector.0.lastEntryTime = 9444314 | |
sun.gc.collector.0.lastExitTime = 9460538 | |
sun.gc.collector.0.name = PSScavenge | |
sun.gc.collector.0.time = 40671 | |
sun.gc.collector.1.invocations = 0 | |
sun.gc.collector.1.lastEntryTime = 0 | |
sun.gc.collector.1.lastExitTime = 0 | |
sun.gc.collector.1.name = PSParallelCompact | |
sun.gc.collector.1.time = 0 | |
sun.gc.compressedclassspace.capacity = 1966080 | |
sun.gc.compressedclassspace.maxCapacity = 1073741824 | |
sun.gc.compressedclassspace.minCapacity = 0 | |
sun.gc.compressedclassspace.used = 1835944 | |
sun.gc.generation.0.capacity = 42991616 | |
sun.gc.generation.0.maxCapacity = 244318208 | |
sun.gc.generation.0.minCapacity = 42991616 | |
sun.gc.generation.0.name = new | |
sun.gc.generation.0.space.0.capacity = 32505856 | |
sun.gc.generation.0.space.0.initCapacity = 0 | |
sun.gc.generation.0.space.0.maxCapacity = 243269632 | |
sun.gc.generation.0.space.0.name = eden | |
sun.gc.generation.0.space.0.used = 24416464 | |
sun.gc.generation.0.space.1.capacity = 5242880 | |
sun.gc.generation.0.space.1.initCapacity = 0 | |
sun.gc.generation.0.space.1.maxCapacity = 81264640 | |
sun.gc.generation.0.space.1.name = s0 | |
sun.gc.generation.0.space.1.used = 5210176 | |
sun.gc.generation.0.space.2.capacity = 5242880 | |
sun.gc.generation.0.space.2.initCapacity = 0 | |
sun.gc.generation.0.space.2.maxCapacity = 81264640 | |
sun.gc.generation.0.space.2.name = s1 | |
sun.gc.generation.0.space.2.used = 0 | |
sun.gc.generation.0.spaces = 3 | |
sun.gc.generation.1.capacity = 87031808 | |
sun.gc.generation.1.maxCapacity = 489684992 | |
sun.gc.generation.1.minCapacity = 87031808 | |
sun.gc.generation.1.name = old | |
sun.gc.generation.1.space.0.capacity = 87031808 | |
sun.gc.generation.1.space.0.initCapacity = 87031808 | |
sun.gc.generation.1.space.0.maxCapacity = 489684992 | |
sun.gc.generation.1.space.0.name = old | |
sun.gc.generation.1.space.0.used = 17117040 | |
sun.gc.generation.1.spaces = 1 | |
sun.gc.lastCause = Allocation Failure | |
sun.gc.metaspace.capacity = 15335424 | |
sun.gc.metaspace.maxCapacity = 1088421888 | |
sun.gc.metaspace.minCapacity = 0 | |
sun.gc.metaspace.used = 14966512 | |
sun.gc.policy.avgBaseFootprint = 268435456 | |
sun.gc.policy.avgMajorIntervalTime = 0 | |
sun.gc.policy.avgMajorPauseTime = 0 | |
sun.gc.policy.avgMinorIntervalTime = 2016 | |
sun.gc.policy.avgMinorPauseTime = 8 | |
sun.gc.policy.avgOldLive = 0 | |
sun.gc.policy.avgPretenuredPaddedAvg = 0 | |
sun.gc.policy.avgPromotedAvg = 169904 | |
sun.gc.policy.avgPromotedDev = 43984 | |
sun.gc.policy.avgPromotedPaddedAvg = 301856 | |
sun.gc.policy.avgSurvivedAvg = 5111588 | |
sun.gc.policy.avgSurvivedDev = 178230 | |
sun.gc.policy.avgSurvivedPaddedAvg = 5646278 | |
sun.gc.policy.avgYoungLive = 4982652 | |
sun.gc.policy.boundaryMoved = 0 | |
sun.gc.policy.changeOldGenForMajPauses = 0 | |
sun.gc.policy.changeOldGenForMinPauses = 0 | |
sun.gc.policy.changeYoungGenForMajPauses = 0 | |
sun.gc.policy.changeYoungGenForMinPauses = 0 | |
sun.gc.policy.collectors = 2 | |
sun.gc.policy.decideAtFullGc = 0 | |
sun.gc.policy.decreaseForFootprint = 0 | |
sun.gc.policy.decrementTenuringThresholdForGcCost = 0 | |
sun.gc.policy.decrementTenuringThresholdForSurvivorLimit = 0 | |
sun.gc.policy.desiredSurvivorSize = 5242880 | |
sun.gc.policy.edenSize = 32505856 | |
sun.gc.policy.freeSpace = 65011712 | |
sun.gc.policy.fullFollowsScavenge = 0 | |
sun.gc.policy.gcTimeLimitExceeded = 0 | |
sun.gc.policy.generations = 3 | |
sun.gc.policy.increaseOldGenForThroughput = 0 | |
sun.gc.policy.increaseYoungGenForThroughput = 0 | |
sun.gc.policy.incrementTenuringThresholdForGcCost = 0 | |
sun.gc.policy.liveAtLastFullGc = 32505856 | |
sun.gc.policy.liveSpace = 273418112 | |
sun.gc.policy.majorCollectionSlope = 0 | |
sun.gc.policy.majorGcCost = 0 | |
sun.gc.policy.majorPauseOldSlope = 0 | |
sun.gc.policy.majorPauseYoungSlope = 0 | |
sun.gc.policy.maxTenuringThreshold = 15 | |
sun.gc.policy.minorCollectionSlope = 0 | |
sun.gc.policy.minorGcCost = 0 | |
sun.gc.policy.minorPauseOldSlope = 0 | |
sun.gc.policy.minorPauseTime = 6 | |
sun.gc.policy.minorPauseYoungSlope = 0 | |
sun.gc.policy.mutatorCost = 99 | |
sun.gc.policy.name = ParScav:MSC | |
sun.gc.policy.oldCapacity = 87031808 | |
sun.gc.policy.oldEdenSize = 32505856 | |
sun.gc.policy.oldPromoSize = 32505856 | |
sun.gc.policy.promoSize = 32505856 | |
sun.gc.policy.promoted = 257872 | |
sun.gc.policy.scavengeSkipped = 0 | |
sun.gc.policy.survived = 5210176 | |
sun.gc.policy.survivorOverflowed = 1 | |
sun.gc.policy.tenuringThreshold = 7 | |
sun.gc.policy.youngCapacity = 37748736 | |
sun.gc.tlab.alloc = 4173747 | |
sun.gc.tlab.allocThreads = 6 | |
sun.gc.tlab.fastWaste = 1428 | |
sun.gc.tlab.fills = 79 | |
sun.gc.tlab.gcWaste = 84930 | |
sun.gc.tlab.maxFastWaste = 1408 | |
sun.gc.tlab.maxFills = 27 | |
sun.gc.tlab.maxGcWaste = 38939 | |
sun.gc.tlab.maxSlowAlloc = 4 | |
sun.gc.tlab.maxSlowWaste = 948 | |
sun.gc.tlab.slowAlloc = 5 | |
sun.gc.tlab.slowWaste = 1460 | |
sun.os.hrt.frequency = 2338437 | |
sun.os.hrt.ticks = 187327328386 | |
sun.perfdata.majorVersion = 2 | |
sun.perfdata.minorVersion = 0 | |
sun.perfdata.overflow = 0 | |
sun.perfdata.size = 65536 | |
sun.perfdata.timestamp = 445600 | |
sun.perfdata.used = 20040 | |
sun.property.sun.boot.class.path = C:\Program Files\Java\jdk1.8.0_102\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_102\jre\lib\rt.jar;C:\Program Files\Java\jdk1.8.0_102\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.8.0_102\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_102\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_102\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_102\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_102\jre\classes | |
sun.property.sun.boot.library.path = C:\Program Files\Java\jdk1.8.0_102\jre\bin | |
sun.rt._sync_ContendedLockAttempts = 123 | |
sun.rt._sync_Deflations = 42 | |
sun.rt._sync_EmptyNotifications = 0 | |
sun.rt._sync_FailedSpins = 0 | |
sun.rt._sync_FutileWakeups = 2 | |
sun.rt._sync_Inflations = 44 | |
sun.rt._sync_MonExtant = 256 | |
sun.rt._sync_MonInCirculation = 0 | |
sun.rt._sync_MonScavenged = 0 | |
sun.rt._sync_Notifications = 21 | |
sun.rt._sync_Parks = 53 | |
sun.rt._sync_PrivateA = 0 | |
sun.rt._sync_PrivateB = 0 | |
sun.rt._sync_SlowEnter = 0 | |
sun.rt._sync_SlowExit = 0 | |
sun.rt._sync_SlowNotify = 0 | |
sun.rt._sync_SlowNotifyAll = 0 | |
sun.rt._sync_SuccessfulSpins = 0 | |
sun.rt.applicationTime = 12597920143 | |
sun.rt.createVmBeginTime = 1486817667168 | |
sun.rt.createVmEndTime = 1486817667346 | |
sun.rt.internalVersion = Java HotSpot(TM) 64-Bit Server VM (25.102-b14) for windows-amd64 JRE (1.8.0_102-b14), built on Jun 22 2016 13:15:21 by "java_re" with MS VC++ 10.0 (VS2010) | |
sun.rt.interruptedBeforeIO = 0 | |
sun.rt.interruptedDuringIO = 0 | |
sun.rt.javaCommand = org.jetbrains.jps.cmdline.Launcher | |
sun.rt.jvmCapabilities = 1100000000000000000000000000000000000000000000000000000000000000 | |
sun.rt.jvmVersion = 426115086 | |
sun.rt.safepointSyncTime = 10145 | |
sun.rt.safepointTime = 59359 | |
sun.rt.safepoints = 31 | |
sun.rt.threadInterruptSignaled = 0 | |
sun.rt.vmInitDoneTime = 1486817667230 | |
sun.threads.vmOperationTime = 43465 | |
sun.urlClassLoader.readClassBytesTime = 235520122 | |
sun.zip.zipFile.openTime = 44745703 | |
sun.zip.zipFiles = 111 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import sun.jvmstat.monitor.Monitor; | |
import sun.jvmstat.monitor.MonitoredHost; | |
import sun.jvmstat.monitor.MonitoredVm; | |
import sun.jvmstat.monitor.VmIdentifier; | |
import java.util.List; | |
import java.util.Map; | |
import java.util.function.Function; | |
import java.util.stream.Collectors; | |
public class PerfCounterProfiler { | |
public static void main(String[] args) throws Exception { | |
MonitoredHost host = MonitoredHost.getMonitoredHost((String) null); | |
MonitoredVm vm = host.getMonitoredVm(new VmIdentifier("<PID>")); | |
List<Monitor> monitors = vm.findByPattern(".*"); | |
Map<Monitor, Object> values = monitors.stream() | |
.collect(Collectors.toMap(Function.identity(), Monitor::getValue)); | |
while (true) { | |
Thread.sleep(1000); | |
System.out.println(" --- "); | |
monitors.forEach(m -> { | |
Object newValue = m.getValue(); | |
Object oldValue = values.put(m, newValue); | |
if (!oldValue.equals(newValue)) { | |
System.out.println(m.getName() + " : " + newValue); | |
} | |
}); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment