1.命令行工具
1.1 jps
查看系统JVM进程
jps [options] [hostid]
-
option
-
hostid:省略则本机,监控远程需要安装jstatd
1.2 jstat
查看JVM统计信息
jstat -
- option
- -t:加程序运行时间
- [-h
]:输出设定行数加表头信息 :查询间隔时间 - count:查询总次数
- 结果:
当ou上涨趋势时,可能oom
1.3 jinfo
实时查看修改JVM参数
只有标记为manageable的参数才可以被实时修改
- java -xx:+PrintFlagsFinal -version | grep manageable
jinfo [option] pid
1.4 jmap
导出内存映像文件和内存使用情况,生成heapdump文件且可以查询finalize执行队列,以及堆和方法区的信息
jmap [option] pid
- oom时自动导出
-XX:+HeapDumpOnOutOfMenoryError
-XX:HeapDumpPath=
1.5 jhat
JDK9删除 使用VisualVM代替
在本地7000端口查看dump文件分析结果
jhat [options] [hostid]
1.6 jstack
生成线程快照,堆栈集合
jstack [optinon] pid
2.JVM监控工具
JDK自带:jconsole VisualVM jmc
三方: MAT JProfiler Arthas Btrace