基础故障处理工具
jps
**jps(JVM Process Status Tool):**Java虚拟机进程状态工具
功能
**1:**列出正在运行的虚拟机进程
2: 显示虚拟机执行主类(main()方法所在的类)
**3:**显示进程ID(PID,Process Identifier)
命令格式
bash
jps [options] [hostid]
options
-q: 只输出进程ID
**-m:**输出main()方法的args参数
**-l:**输出主类的全名(如果进程执行的是Jar包则输出Jar路径)
**-v:**查看虚拟机启动时显式指定的参数列表
hostid
**hostid:**RMI注册表中注册的主机名
jstat
**jstat(JVM Statistics Monitoring Tool):**Java虚拟机统计信息监控工具
**功能:**显示本地或者远程虚拟机进程中的类加载、内存、垃圾收集、即时编译等运行时数据
命令格式
jstat <option> <vmid> [ [interval[s|ms] [count]] ]
参数说明
**option:**用户希望查询的虚拟机信息(类加载、垃圾收集、运行期编译状况)
vmid: 本地虚拟机进程中VMID与PID是一致的
**interval:**查询间隔
count: 次数
jinfo
**jinfo(Java Configuration Info):**Java配置信息工具
**功能:**实时查看和调整虚拟机各项参数
命令格式
jinfo [option] <pid>
option
**-flag <name>:**打印指定的参数
**-flag [+|-]<name>:**启用或禁用指定的参数
**-flag <name>=<value>:**修改指定参数的值
**-flags:**打印所有的参数
**-sysprops:**打印所有的Java系统属性
jmap
**jmap(Java Memory Map):**Java内存映像工具
功能: 生成堆转储快照(一般称为heap dump或dump文件)
命令格式
bash
jmap [option] <pid>
option
-dump:[live,]format=b,file=heap.bin: 生成二进制格式的heap dump文件,live参数表示会主动执行一次垃圾回收
**-heap:**查看堆内存快照信息
jstack
**jstack(Java Stack Trace):**Java堆栈跟踪工具
**功能:**生成虚拟机当前时刻的线程快照(一般称为thread dump或者java core文件)
命令格式
jstack [option] <pid>
option
可视化故障处理工具
JConsole
**JConsole(Java Monitoring and Management Console):**Java监控与管理控制台
**原理:**基于JMX(Java Management Extensions)
**功能:**通过JMX的MBean(Managed Bean)对系统进行信息收集和参数动态调整
命令格式
bash
jconsole
检测死锁
VisualVM
下载地址: VisualVM: Home
**VisualVM(All-in-One Java Troubleshooting Tool):**多功能Java故障排除工具