一:jps
使用说明:
示例:
[weblogic@hkczjjapp domain9001]$ jps -l 95696 sun.tools.jps.Jps 45908 weblogic.Server 68048 weblogic.Server
二:jstat
使用说明:
示例:
-----查询进程68048的gc情况,250毫秒一次,共5次
[weblogic@hkczjjapp domain9001]$ jstat -gc 68048 250 5 S0C S1C S0U S1U EC EU OC OU PC PU YGC YGCT FGC FGCT GCT 47488.0 32128.0 0.0 32128.0 373696.0 25461.0 699072.0 84432.1 262144.0 137958.3 17 0.495 3 1.055 1.551 47488.0 32128.0 0.0 32128.0 373696.0 25461.0 699072.0 84432.1 262144.0 137958.3 17 0.495 3 1.055 1.551 47488.0 32128.0 0.0 32128.0 373696.0 25461.0 699072.0 84432.1 262144.0 137958.3 17 0.495 3 1.055 1.551 47488.0 32128.0 0.0 32128.0 373696.0 25461.0 699072.0 84432.1 262144.0 137958.3 17 0.495 3 1.055 1.551 47488.0 32128.0 0.0 32128.0 373696.0 25461.0 699072.0 84432.1 262144.0 137958.3 17 0.495 3 1.055 1.551
其他:
-XX:+PrintGC 输出GC日志 -XX:+PrintGCDetails 输出GC的详细日志 -XX:+PrintGCTimeStamps 输出GC的时间戳(以基准时间的形式) -XX:+PrintGCDateStamps 输出GC的时间戳(以日期的形式,如 2013-05-04T21:53:59.234+0800) -XX:+PrintHeapAtGC 在进行GC的前后打印出堆的信息 -Xloggc:/home/logs/gc.log 日志文件的输出路径 -------------------------------------------------------------------------------------------- 例: -Xloggc:/home/jvm/logs/gc.log -XX:+PrintGCTimeStamps -XX:+PrintGCDetails
三:jmap
说明:
示例:
[weblogic@hkczjjapp domain9001]$ jmap -dump:format=b,file=bb.bin 68048 Dumping heap to /home/weblogic/Oracle/Middleware/user_projects/domains/domain9001/bb.bin ... Heap dump file created
其他:
----让jvm在遇到oom异常时自动dump内存快照
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/heap/dump
四:jhat
示例:
------解释jmap生成的dump文件生成网页内容
[weblogic@hkczjjapp domain9001]$ jhat bb.bin Reading from bb.bin... Dump file created Fri Nov 22 13:58:24 CST 2019 Snapshot read, resolving... Resolving 4754263 objects... WARNING: Failed to resolve object id 0x766506d38 for field constantPoolOop (signature L) WARNING: Failed to resolve object id 0x766506d38 for field constantPoolOop (signature L) WARNING: Failed to resolve object id 0x766506d38 for field constantPoolOop (signature L) Chasing references, expect 950 dots........................................ Eliminating duplicate references.............. Snapshot resolved. Started HTTP server on port 7000 Server is ready.
五:jstack
说明:
示例:
[weblogic@hkczjjapp domain9001]$ jstack -l 68048 2019-11-22 15:38:30 Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.45-b01 mixed mode): "Attach Listener" daemon prio=10 tid=0x00007f1448001000 nid=0x13797 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "Java2D Disposer" daemon prio=10 tid=0x00007f13fc02f000 nid=0x10b2d in Object.wait() [0x00007f13cdbd6000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x000000078490eae0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) - locked <0x000000078490eae0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134) at sun.java2d.Disposer.run(Disposer.java:127) at java.lang.Thread.run(Thread.java:662) Locked ownable synchronizers: - None "DynamicListenThread[Default]" daemon prio=10 tid=0x00007f14292d3800 nid=0x10a37 runnable [0x00007f13ce3e2000] java.lang.Thread.State: RUNNABLE at java.net.PlainSocketImpl.socketAccept(Native Method) at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408) - locked <0x00000007841280e0> (a java.net.SocksSocketImpl) at java.net.ServerSocket.implAccept(ServerSocket.java:462) at java.net.ServerSocket.accept(ServerSocket.java:430) at weblogic.socket.WeblogicServerSocket.accept(WeblogicServerSocket.java:38) at weblogic.server.channels.DynamicListenThread$SocketAccepter.accept(DynamicListenThread.java:535) at weblogic.server.channels.DynamicListenThread$SocketAccepter.access$200(DynamicListenThread.java:417) at weblogic.server.channels.DynamicListenThread.run(DynamicListenThread.java:173) at java.lang.Thread.run(Thread.java:662) Locked ownable synchronizers: - None
六:jinfo
示例:
----查询某pid参数配置
[weblogic@hkczjjapp domain9001]$ jinfo -flag UseSerialGC 68048 -XX:-UseSerialGC
七:JVM主要参数表
-
说明
-
用法格式
-XX:+<option> 开启 option 参数
-XX:-<option> 关闭 option 参数
-XX:<option>=<value> 将option参数的值设置为 value
-
内存管理参数
-
调试参数
-
性能参数
-
类型加载参数
-
多线程相关参数
-
即时编译参数