Sun SDK 监控和故障处理工具
jps 虚拟机进程状况工具
格式 jps [option] [hostid]
本地虚拟机唯一ID: local virtual machine identifier,LVMID
进程ID:process identifier
jps可以通过RMI 协议查询开启了RMI服务的远程虚拟机进程状态,hostid为RMI 注册表中的注册的主机名。
主要参数
-q 只输出LVMID 省略主类的名称
-m 输出虚拟机进程启动时传递给主类的参数
-l 输出主类的全名,如果执行的是jar包,输出jar包路径
-v 输出虚拟机启动时的JVM 参数
jstat 虚拟机统计信息监视工具
可以显示本地或者远程虚拟机进程中的类装载,内存,垃圾回收,JIT 编译等运行数据。
格式: jstat [option vmid [interval[s | ms] [count] ] ]
vmid: 本地虚拟机进程 vmid和lvmid一样,远程虚拟机格式。
vmid [protocol :][//]lvmid[@hostname[:port]/servername]
interval:查询间隔
count: 次数
option:代表要查询的虚拟机信息 主要是三类 类装载,垃圾回收,运行期编译状况
jstat -gc 2764 250 20 每250ms查询进程2764垃圾收集情况。
常见的选项
jinfo java 配置信息
格式 :jinfo [option] pid
windows 平台只有最基本的-flag 选项
jmap java 内存映像工具
格式:jmap [option] vmid
jmap -dump:format=b,file=test.bin 8948
jstat 虚拟机堆转储快照分析工具
格式:jstat 文件名
jstack java 堆栈跟踪工具
格式 jstack [option] vmid
-F 当jstack [-l] pid没有响应的时候强制打印栈信息
-l 长列表. 打印关于锁的附加信息,例如属于java.util.concurrent的ownable synchronizers列表.-m 打印java和native c/c++框架的所有栈信息.
一般是生成threaddump或者javacore文件,即生成的是当前线程的快照
最强大的还是Visual VM 多合一的故障处理工具