写点什么

JDK 内置命令行工具学习笔记二

用户头像
风翱
关注
发布于: 6 小时前

一、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


发布于: 6 小时前阅读数: 4
用户头像

风翱

关注

还未添加个人签名 2017.11.24 加入

勇于尝试,持续成长

评论

发布
暂无评论
JDK 内置命令行工具学习笔记二