第四章 虚拟机性能监控与故障处理工具
sun jdk 监控和故障处理工具
jps : jvm process status tool 显示制定系统内的所有的HotSpot虚拟机进程
jstat: jvm statistics monitoring tool 用于收集hotspot虚拟机各方面的运行数据
jinfo :configuration info for java 显示虚拟机配置信息
jmap: memory map for java 生成虚拟机的内存转储快照文件
jhat :jvm heap dump browser ,用于分析heapdump文件,它会建立一个HTTP/html服务器,让用户可以在浏览器上查看分析结果
jstack: stack tarce for java 显示虚拟机的线程快照
1 jps 显示制定系统内的所有的HotSpot虚拟机进程
jps [options] [hostid]
使用例子 jps -l
jps -l 输出主类的全名,如果进程执行的是jar包,输出jar路径
jps -v 输出虚拟机启动时的参数
jps -m 输出虚拟机重启时,传递给main()函数的参数
jps -q 只输出LVMID 省略主类的名称
2 jstat jvm statistics monitoring tool 用于收集hotspot虚拟机各方面的运行数据
jstat [options vmid [interval [s|ms][count] ]]
使用例子 jstat -gc 2764 250 20 每250毫秒查询一次进程2764垃圾收集情况,一共查询20次
jstat 工具主要选项
-class 监视器装载,卸载数量,总空间以及类装载所耗费的时间
-gc 监视java堆状况,包括eden区,两个survivor区,老年代,永久代等的容量,已用空间,GC时间合计等信息
-gccapacity 监视内容与gc相同,但是主要关注java堆各个区域使用到的最大,最小空间
-gcutil 监视内容与gc相同,但是主要关注已使用空间占用总空间的百分比
-gccause 与gcutil功能一样,但是额外显示导致上一次GC产生的原因
-gcnew 监视新生代GC情况
-gcnewcapacity 监视内容与gcnew相同,但是主要关注使用到的最大,最小空间
-gcold 监视老年代GC情况
-gcoldcapacity 监视内容与gcold相同,但是主要关注使用到的最大,最小空间
-gcpermcapacity 输出永久代使用到的最大,最小空间
-compiler 输出JIT编译器编译过的方法,耗时等信息
-printcompilation 输出已经被JIT编译的方法
3 jinfo java配置信息工具
jinfo [options] pid
举例: jinfo -flag CMSInitiatingOccupancyFraction 1444
-XX:CMSInitiatingOccupancyFraction=85
4 jmap java内存影像工具
jmap [options] vmid
主要选项
-dump 生成java堆转储快照,格式为 -dump:[live,] format=b,file=<filename>, 其中live子参数说明只dump出存活的对象
-finalizerinfo 显示在F-Queue中等待Finalizer线程执行finalizer方法的对象,linux/solaris下有效
-heap 显示java堆详细信息,如使用哪种回收器,参数配置,分代情况等,linux/solaris下有效
-histo 显示堆中对象统计信息,包括类,实例数量,合计容量
-permstat 以ClassLoader为统计口径显示永久代内存状态 linux/solaris下有效
-F 当虚拟机进程对 -dump选项没有响应时,可使用这个选项强制生成dump快照 linux/solaris下有效
举例:jps 查询到LVMID
jmap -dump:format=b,file=eclipse.bin 3500
5 jhat 虚拟机转储快照分析工具
举例:jhat eclipse.bin
http://localhost:7000/访问看分析结果
6 jstck java堆栈跟踪工具
jstack [options] vmid
—F 当正常输出请求不被请求是,强制输出线程堆栈
-l 除堆栈外,显示关于锁的附加信息
-m 如果调用到本地方法的话,可以显示C/C++的堆栈
举例:jstack -l 3500
7 jdk的可视化工具
jConsole:java监视与管理控制台
VisualVM:多合一故障处理工具
相关推荐
《实战Java虚拟机——JVM故障诊断与性能优化》内容简介:随着越来越多的第三方语言(Groovy、Scala、JRuby等)在Java虚拟机上运行,Java也俨然成为一个充满活力的生态圈。本书将通过200余示例详细介绍Java虚拟机中的...
第6章介绍了Java虚拟机的性能监控和故障诊断工具。第7章详细介绍了对Java堆的分析方法和案例。第8章介绍了Java虚拟机对多线程,尤其是对锁的支持。第9~10章介绍了Java虚拟机的核心——Class文件结构,以及Java虚拟机...
本书将通过200余示例详细介绍Java虚拟机中的各种参数配置、故障排查、性能监控以及性能优化。 本书共11章。第1~3章介绍了Java虚拟机的定义、总体架构、常用配置参数。第4~5章介绍了垃圾回收的算法和各种垃圾回收器...
第6章介绍了Java虚拟机的性能监控和故障诊断工具。第7章详细介绍了对Java堆的分析方法和案例。第8章介绍了Java虚拟机对多线程,尤其是对锁的支持。第9~10章介绍了Java虚拟机的核心——Class文件结构,以及Java虚拟机...
第6章介绍了Java虚拟机的性能监控和故障诊断工具。第7章详细介绍了对Java堆的分析方法和案例。第8章介绍了Java虚拟机对多线程,尤其是对锁的支持。第9~10章介绍了Java虚拟机的核心——Class文件结构,以及Java虚拟机...
第6章介绍了Java虚拟机的性能监控和故障诊断工具。第7章详细介绍了对Java堆的分析方法和案例。第8章介绍了Java虚拟机对多线程,尤其是对锁的支持。第9~10章介绍了Java虚拟机的核心——Class文件结构,以及Java虚拟机...
本书将通过200余示例详细介绍Java虚拟机中的各种参数配置、故障排查、性能监控以及性能优化。 本书共11章。第1~3章介绍了Java虚拟机的定义、总体架构、常用配置参数。第4~5章介绍了垃圾回收的算法和各种垃圾回收器。...
/ 66 3.5.2 大对象直接进入老年代 / 68 3.5.3 长期存活的对象将进入老年代 / 69 3.5.4 动态对象年龄判定 / 71 3.5.5 空间分配担保 / 73 3.6 本章小结 / 75 第4章 虚拟机性能监控与故障处理工具 / 76 4.1 概述...
将原书中有关虚拟机性能监控及故障处理的部分单抽了出来,组成了本 repo 的第三部分。第四部分对应于原书的第四部分,程序编译与代码优化,不过仅对 Java 的运行期优化,也就是 JIT 时进行的优化进行了总结,编译器...
第4章 虚拟机性能监控与故障处理工具 4.1 概述 4.2 JDK的命令行工具 4.2.1 jps:虚拟机进程状况工具 4.2.2 jstat:虚拟机统计信息监视工具 4.2.3 jinfo:Java配置信息工具 4.2.4 jmap:Java内存映像工具 ...
第4章介绍了并行开发和如何通过多线程提高系统性能。第5章立足于JVM虚拟机层面,介绍如何通过设置合理的JVM参数提升Java程序的性能。第6章为工具篇,介绍了获取和监控程序或系统性能指标的各种工具,包括相关的故障...
第4章介绍了并行开发和如何通过多线程提高系统性能。第5章立足于JVM虚拟机层面,介绍如何通过设置合理的JVM参数提升Java程序的性能。第6章为工具篇,介绍了获取和监控程序或系统性能指标的各种工具,包括相关的故障...
第4章介绍了并行开发和如何通过多线程提高系统性能。第5章立足于JVM虚拟机层面,介绍如何通过设置合理的JVM参数提升Java程序的性能。第6章为工具篇,介绍了获取和监控程序或系统性能指标的各种工具,包括相关的故障...
第4章介绍了并行开发和如何通过多线程提高系统性能。第5章立足于JVM虚拟机层面,介绍如何通过设置合理的JVM参数提升Java程序的性能。第6章为工具篇,介绍了获取和监控程序或系统性能指标的各种工具,包括相关的故障...
- 第4章 虚拟机性能监控、故障处理工具- 4.5 本章小结本章介绍了随JDK发布的6个命令行工具与4个可视化的故障处理工具,灵活使用这些工具,可以 为处理问题