JCMD整合了JVM基础工具
E:\arthas\20210617
λ jcmd
10784 sun.tools.jcmd.JCmd
8024 org.jetbrains.idea.maven.server.RemoteMavenServer36
3036
4108 com.xquant.platform.test.trade.server.TradeTestServerStartMain
E:\arthas\20210617
λ jcmd 4108 GC.class_histogram | head -20
4108:
num #instances #bytes class name
----------------------------------------------
1: 312736 36499176 [C
2: 138451 12183688 java.lang.reflect.Method
3: 311666 7479984 java.lang.String
4: 190963 6110816 java.util.concurrent.ConcurrentHashMap$Node
5: 116589 5566112 [Ljava.lang.Object;
6: 53962 3453568 java.util.concurrent.ConcurrentHashMap
7: 67372 3233856 java.util.HashMap
8: 131084 3146016 java.util.ArrayList
9: 63782 3061536 org.aspectj.weaver.reflect.ShadowMatchImpl
10: 49698 2783088 java.util.LinkedHashMap
11: 86919 2781408 java.util.HashMap$Node
12: 38838 2743488 [Ljava.util.HashMap$Node;
13: 8145 2491256 [I
14: 61381 2455240 java.util.LinkedHashMap$Entry
15: 66747 2135904 java.lang.ref.WeakReference
16: 63782 2041024 org.aspectj.weaver.patterns.ExposedState
E:\arthas\20210617
λ jcmd 4108 VM.flags | head -20
4108:
-XX:-BytecodeVerificationLocal -XX:-BytecodeVerificationRemote -XX:CICompilerCount=3 -XX:InitialHeapSize=264241152 -XX:+ManagementServer -XX:MaxHeapSize=4219469824 -XX:MaxNewSize=1406140416 -XX:MinHeapDeltaBytes=524288 -XX:NewSize=88080384 -XX:OldSize=176160768 -XX:TieredStopAtLevel=1 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseFastUnorderedTimeStamps -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC
E:\arthas\20210617
λ jcmd 4108 VM.system_properties | head -20
4108:
#Thu Jun 17 17:10:45 CST 2021
spring.output.ansi.enabled=always
java.runtime.name=Java(TM) SE Runtime Environment
sun.boot.library.path=C\:\\Program Files\\Java\\jdk1.8.0_202\\jre\\bin
java.vm.version=25.202-b08
java.vm.vendor=Oracle Corporation
java.vendor.url=http\://java.oracle.com/
path.separator=;
java.rmi.server.randomIDs=true
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg=sun.io
user.script=
user.country=CN
sun.java.launcher=SUN_STANDARD
sun.os.patch.level=Service Pack 1
java.vm.specification.name=Java Virtual Machine Specification
user.dir=E\:\\20200702\\xquant-platform-component-test-parent
PID=4108
java.runtime.version=1.8.0_202-b08
λ jcmd 4108 Thread.print | head -20
4108:
2021-06-17 17:12:18
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.202-b08 mixed mode):
"DestroyJavaVM" #191 prio=5 os_prio=0 tid=0x00000000271af800 nid=0x2e88 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"http-nio-8182-AsyncTimeout" #189 daemon prio=5 os_prio=0 tid=0x00000000271ae800 nid=0x2930 waiting on condition [0x000000002983e000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at org.apache.coyote.AbstractProtocol$AsyncTimeout.run(AbstractProtocol.java:1151)
at java.lang.Thread.run(Thread.java:748)
"http-nio-8182-Acceptor-0" #188 daemon prio=5 os_prio=0 tid=0x00000000271ae000 nid=0x2d00 runnable [0x000000002902f000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:422)
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:250)
- locked <0x00000006cb8ee798> (a java.lang.Object)
at org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:482)