这可能是我写的最懒的博客系列了…如果仅仅是看一眼,那还真的是只能看一眼 /捂脸。
附上另外两篇懒博客:
写在前面
文章参考自官方文档 (当然,更详细的内容也需要从这里找到,请允许我偷点懒吧),仅适用于
windows
系统。命令的可执行jar 包,可在JDK
的bin
路径下找到。由于该路径已经加到了环境变量中,我们可以在任何路径下的命令行窗口执行以下的命令。
jcmd
向正在运行的 JVM 发送诊断请求。
我比较常使用的是 jcmd VMID PerfCounter.print
, 该命令能够获取到非常多的信息。vmid 可以通过 jps -l
命令查看。
jinfo
该 jinfo
命令为指定的Java进程或核心文件或远程调试服务器打印Java配置信息。配置信息包括Java系统属性和Java虚拟机(JVM)命令行标志。
使用 jinfo VMID
查看。
jhat
该jhat
命令解析Java堆转储文件并启动Web服务器。该jhat
命令使您可以使用自己喜欢的Web浏览器浏览堆转储。
使用 jhat <file>
查看。
jmap
该jmap
命令显示指定进程,核心文件或远程调试服务器的共享对象内存映射或堆内存详细信息。
使用 jmap vmid
查看,一些在我目前看来毫无用处的信息,你可以尝试下。
jsadebugd
该jsadebugd
命令附加到Java进程或核心文件,并充当调试服务器。等远程客户端jstack
,jmap
以及jinfo
可以连接到通过Java远程方法调用(RMI)服务器。
这个我还真不知道怎么用…
jstack
打印Java进程,核心文件或远程调试服务器的Java线程堆栈跟踪。
使用 jstack vmid
,这个命令就蛮好了,可以看到一些线程跟踪信息。