《深入理解Java虚拟机》读书笔记(三)虚拟机性能监控、故障处理工具
基础故障处理工具jps:虚拟机进程状况工具jps可以列出正在运行的虚拟机进 程,并显示虚拟机执行主类(Main Class,main()函数所在的类)名称以及这些进程的本地虚拟机唯一 ID(LVMID,Local Virtual Machine Identifier)命令格式jps [options] [hostid]执行案例主要选项选项作用-q只输出LVMID,省略主类的名称-m输出虚拟机进程启
基础故障处理工具
jps:虚拟机进程状况工具
jps可以列出正在运行的虚拟机进 程,并显示虚拟机执行主类(Main Class,main()函数所在的类)名称以及这些进程的本地虚拟机唯一 ID(LVMID,Local Virtual Machine Identifier)
命令格式
jps [options] [hostid]
执行案例
主要选项
选项 | 作用 |
---|---|
-q | 只输出LVMID,省略主类的名称 |
-m | 输出虚拟机进程启东市传递给主类main()函数的参数 |
-l | 输出主类的全名,如果进程执行的是JAR包,则输出JAR的路径 |
-v | 输出虚拟机进程启动时的JVM参数 |
jstat:虚拟机统计信息监视工具
jstat(JVM Statistics Monitoring Tool)是用于监视虚拟机各种运行状态信息的命令行工具。它可 以显示本地或者远程[1]虚拟机进程中的类加载、内存、垃圾收集、即时编译等运行时数据,在没有 GUI图形界面、只提供了纯文本控制台环境的服务器上,它将是运行期定位虚拟机性能问题的常用工 具
命令格式
jstat [option vmid [interval[s|ms] [count ]] ]
例子
jstat -gc 9924 250 25
每250 毫秒查询一次进程9924垃圾收集状况,一共查询20次
jstat的主要选项
jinfo: Java配置信息工具
jinfo(Configuration Info for Java)的作用是实时查看和调整虚拟机各项参数。
命令格式
jinfo [option] pid
例子查询CMSInitiatingOccupancyFraction参数值
jmap:Java内存映像工具
jmap(Memory Map for Java)命令用于生成堆转储快照(一般称为heapdump或dump文件)。
map的作用并不仅仅是为了获取堆转储快照,它还可以查询finalize执行队列、Java堆和方法区的
详细信息,如空间使用率、当前用的是哪种收集器等。
命令格式
jmap [ option ] vmid
jhat:虚拟机堆转储快照分析工具
JDK提供jhat(JVM Heap Analysis Tool)命令与jmap搭配使用,来分析jmap生成的堆转储快照。
jstack:Java堆栈跟踪工具
jstack(Stack Trace for Java)命令用于生成虚拟机当前时刻的线程快照(一般称为threaddump或者 javacore文件)。线程快照就是当前虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的 目的通常是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间挂 起等,都是导致线程长时间停顿的常见原因。线程出现停顿时通过jstack来查看各个线程的调用堆栈, 就可以获知没有响应的线程到底在后台做些什么事情,或者等待着什么资源。
命令格式
jstack [ option ] vmid
主要选项
参考资料
《深入理解Java虚拟机》
更多推荐
所有评论(0)