基础故障处理工具
jps
jps(JVM Process Status Tool):Java虚拟机进程状态工具
功能
1:列出正在运行的虚拟机进程
2:显示虚拟机执行主类(main()方法所在的类)
3:显示进程ID(PID,Process Identifier)
命令格式
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文件)
命令格式
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)对系统进行信息收集和参数动态调整
命令格式
jconsole
检测死锁
VisualVM
下载地址:VisualVM: Home
VisualVM(All-in-One Java Troubleshooting Tool):多功能Java故障排除工具
检测死锁