jcmd从JDK 7开始引入的一个JVM诊断命令行工具,可以向运行中的JVM发送诊断命令。
jcmd [-l|-h|-help]
使用 jcmd 或者 -l 可以列出所有的运行java程序,使用-h或者-help可以查看相应命令的使用。
然后可以看到 本地运行的java程序,知道了进程号,那么我们就可以干很多事情啦,可以该jvm可以用那些命令,比如上面的283
可以看出 jcmd相当于是一个工具集,比如查看jvm启动的参数 比如堆大小和垃圾回收算法
哈,看着有点乱糟糟的,以上的命令,不明白的可以查看help
那么我们就使用一下 打印线程栈信息
当然打印一下 jvm中的类统计信息 也挺好玩的 一打出来 吓一跳 太长了吧
还可以简单获取 系统的property信息
虽然堆栈也看不太懂 ,也可以导出来看看,使用下面的
jcmd pid GC.heap_dump filename=XXXXX
还可以看一下看不太懂的性能统计
这个工具感觉挺好的,又想记录一下,并且想看看公众号怎么样的,不太会用,欢迎大家指导,下面是oracle的文档地址
http://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr006.html
其实这篇我先写在了公众号里面,然后复制过来哈