JDK工具的几个常用命令

jps查看进程

$ jps -lv

jcmd查看VM信息

获得对应用生效的JVM调优标志,显示命令行设置的标志,以及JVM直接设置的标志

$ jcmd 15162 VM.flags

或者

$ jinfo -flags 15162

显示程序所用的命令行,或者用jconsole的VM摘要页

$ jcmd 15162 VM.command_line (显示直接在命令行指定的标志)

显示JVM内部所有的标志

$ jcmd 15162 VM.flags -all

jmap查看JVM堆信息

查看JVM堆概要信息

$ jmap -heap 27894

dump堆栈

当前堆状态

jmap -J-d64 -dump:format=b,file=heapdump.hprof 93715

堆存活对象(Full GC)

jmap -J-d64 -dump:live,format=b,file=heapdump_liveobj.hprof 93715

Linux上使用mat分析堆栈信息

$ ./ParseHeapDump.sh heap.bin

查看占用内存最多的实例对象

对象统计报表

jmap -histo 93715 > obj.log

存活对象统计报表(Full GC)

jmap -histo:live 93715 > liveobj.log

jstack查看线程堆栈

jstack -l 93715 > jstack_93715.log

kill -3 93715

jstat实时查看GC情况

查看GC堆统计信息,每隔3秒监测一次,共监测10次

$ jstat -gc 26579 3000 10

GC统计概要,每隔5秒监测一次,共监测15次

$ jstat -gcutil 16120 5000 15


---转载本站文章请注明作者和出处 二进制之路(binarylife.icu),请勿用于任何商业用途---

留下评论