JDK 内置命令行工具学习笔记二
一、JVM 命令行工具
jmap
-heap 打印堆内存(/内存池)的配置和使用信息。
-histo 看哪些类占用的空间最多, 直方图。
-dump:format=b,file=xxxx.hprof Dump 堆内存。
示例:
jmap -heap pid
jmap -histo pid
jmap -dump:format=b,file=4939.hprof 4939
jstack
-F 强制执行 thread dump,可在 Java 进程卡死(hung 住)时使用,此选项可能需要系统权限。
-m 混合模式(mixed mode),将 Java 帧和 native 帧一起输出,此选项可能需要系统权限。
-l 长列表模式,将线程相关的 locks 信息一起输出,比如持有的锁,等待的锁。
示例:
jstack -l pid
jcmd 综合了前面的几个命令
示例:
jcmd pid VM.version
jcmd pid VM.flags
jcmd pid VM.command_line
jcmd pid VM.system_properties
jcmd pid Thread.print
jcmd pid GC.class_histogram
jcmd pid GC.heap_info
jrunscript/jjs
当 curl 命令用:jrunscript -e "cat('http://www.infoq.cn')"
执行 js 脚本片段:jrunscript -e "print('hello,kk.jvm'+1)"
执行 js 文件:jrunscript -l js -f /XXX/XXX/index.js
图形化工具
jconsole
在命令行输入 jconsole 即可打开。
本地 JVM 可以直接选择
远程 JVM 可以通过 JMX 方式连接
jvisualvm
VisualGC
jmc
版权声明: 本文为 InfoQ 作者【风翱】的原创文章。
原文链接:【http://xie.infoq.cn/article/753234e4b1d80dc6a22314d75】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论