第四章 虚拟机性能监控与故障处理工具
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虚拟机...
第11章:虚拟机性能监控与故障处理工具(未列出) 本章介绍了用于分析和调试JVM的工具,如jconsole、jvisualvm等,以及如何通过这些工具监控和诊断JVM的运行状态,定位和解决问题。 第13章:Java内存模型与线程 这...
第6章介绍了Java虚拟机的性能监控和故障诊断工具。第7章详细介绍了对Java堆的分析方法和案例。第8章介绍了Java虚拟机对多线程,尤其是对锁的支持。第9~10章介绍了Java虚拟机的核心——Class文件结构,以及Java虚拟机...
第6章介绍了Java虚拟机的性能监控和故障诊断工具。第7章详细介绍了对Java堆的分析方法和案例。第8章介绍了Java虚拟机对多线程,尤其是对锁的支持。第9~10章介绍了Java虚拟机的核心——Class文件结构,以及Java虚拟机...
《深入Java虚拟机源码》一书主要涵盖了Java虚拟机(JVM)的内部工作原理,...通过对这些章节的学习,读者将能够深入理解Java虚拟机的工作原理,更好地进行性能优化和问题定位,从而提升Java应用程序的稳定性和效率。
本书将通过200余示例详细介绍Java虚拟机中的各种参数配置、故障排查、性能监控以及性能优化。 本书共11章。第1~3章介绍了Java虚拟机的定义、总体架构、常用配置参数。第4~5章介绍了垃圾回收的算法和各种垃圾回收器。...
通过阅读《深入JAVA虚拟机第二版》,你不仅可以提升对Java编程的理解,还能具备解决实际问题的能力,比如性能优化、故障排查等。这本书是每一位Java开发者的案头必备,它能帮助你在Java世界中游刃有余。
《深入Java虚拟机第二版》是一本专门为Java开发者和系统管理员设计的专业书籍,旨在帮助读者深入理解Java虚拟机(JVM)的工作原理及其在实际应用中的优化策略。这本书包含了丰富的示例,使得理论知识能够更好地与...
《深入Java虚拟机第二版》是一本专门为Java开发者和优化专家设计的书籍,它详尽地探讨了Java虚拟机(JVM)的工作原理和技术细节。这本书对于提升Java程序的性能、理解和解决运行时问题至关重要。在Java编程领域,对...
《Java虚拟机:JVM高级特性与最佳实践(第2版)》这本书深入探讨了Java虚拟机(JVM)的工作机制,旨在帮助开发者们更好地理解Java程序的运行过程,优化性能,并解决潜在的问题。作者周志明是Java领域的资深专家,他...
《深入Java虚拟机(第二版)》是一本深入解析Java平台核心技术的重要著作,它详细阐述了Java虚拟机(JVM)的工作原理和技术细节。这本书旨在帮助开发者更好地理解Java程序的运行机制,提升性能优化和故障排查的能力...
将原书中有关虚拟机性能监控及故障处理的部分单抽了出来,组成了本 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内存映像工具 ...