虚拟机性能监控与故障分析工具

常用定位虚拟机问题的数据:运行日志,异常堆栈,GC日志,线程快照,对转储快照等

(一)jdk命令行工具

1、jps---显示系统内所有的虚拟机进程(显示主类信息)

(1)命令格式;jps [option] [hostid]

(3)注:hostid用于查询远程主机的虚拟机进程(hostid为注册表中注册的主机名)

2、jstat---收集虚拟机运行数据(类装载,内存,垃圾收集,jit编译等运行数据)

(1)命令格式:jstat [option] vmid [interval [s|ms]] [count]

3、jinfo---显示虚拟机配置信息

作用:实时调整和查看虚拟机各项参数

(1)命令格式:jinfo [option] pid

(2)option取值:-flag -sysprops

例如:jinfo -flag CMSInitiatingOccupancyFraction 1444

(3)查看参数默认值:java -XX:+PrintFlagsFinal

(4)修改参数值:

    使指定的VM参数生效或者失效:jinfo -flag [+|-] name

    为指定的VM参数(name)设置指定的值(value):jinfo -flag name = value

4、jmap---生成虚拟机内存转储快照(heapdump),查询finanlize队列、Java堆和永久代的详细信息

(1)暴力手段:启动应用时使用-XX:+HeapDumpOutOfMemoryError在内存溢出时打印出dump文件

(2)kill -3 命令也可以生成heapdump文件

(3)命令格式:jmap [option] pid

5、jhat---分析jmap生成的堆转储快照,建立一个http/html服务器,让用户可以在浏览器查看结果

6、jstack---显示虚拟机线程快照

(1)适用场景:死锁、死循环、请求外部资源导致的线程长时间停顿

(2)命令格式:jstatck [option] pid

(二)jdk可视化工具

1、Jconsole

2、VisualVM

你可能感兴趣的:(虚拟机性能监控与故障分析工具)