`

《深入理解java虚拟机》第四章 虚拟机性能监控与故障处理工具

 
阅读更多

第四章  虚拟机性能监控与故障处理工具

 

 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故障诊断与性能优化 pdf

    《实战Java虚拟机——JVM故障诊断与性能优化》内容简介:随着越来越多的第三方语言(Groovy、Scala、JRuby等)在Java虚拟机上运行,Java也俨然成为一个充满活力的生态圈。本书将通过200余示例详细介绍Java虚拟机中的...

    实战Java虚拟机——JVM故障诊断与性能优化

    第6章介绍了Java虚拟机的性能监控和故障诊断工具。第7章详细介绍了对Java堆的分析方法和案例。第8章介绍了Java虚拟机对多线程,尤其是对锁的支持。第9~10章介绍了Java虚拟机的核心——Class文件结构,以及Java虚拟机...

    实战JAVA虚拟机 JVM故障诊断与性能优化

    本书将通过200余示例详细介绍Java虚拟机中的各种参数配置、故障排查、性能监控以及性能优化。  本书共11章。第1~3章介绍了Java虚拟机的定义、总体架构、常用配置参数。第4~5章介绍了垃圾回收的算法和各种垃圾回收器...

    实战JAVA虚拟机++JVM故障诊断与性能优化.pdf

    第6章介绍了Java虚拟机的性能监控和故障诊断工具。第7章详细介绍了对Java堆的分析方法和案例。第8章介绍了Java虚拟机对多线程,尤其是对锁的支持。第9~10章介绍了Java虚拟机的核心——Class文件结构,以及Java虚拟机...

    实战JAVA虚拟机

    第6章介绍了Java虚拟机的性能监控和故障诊断工具。第7章详细介绍了对Java堆的分析方法和案例。第8章介绍了Java虚拟机对多线程,尤其是对锁的支持。第9~10章介绍了Java虚拟机的核心——Class文件结构,以及Java虚拟机...

    实战java虚拟机

    第6章介绍了Java虚拟机的性能监控和故障诊断工具。第7章详细介绍了对Java堆的分析方法和案例。第8章介绍了Java虚拟机对多线程,尤其是对锁的支持。第9~10章介绍了Java虚拟机的核心——Class文件结构,以及Java虚拟机...

    JVM故障诊断与性能优化(实战JAVA虚拟机).7z

    本书将通过200余示例详细介绍Java虚拟机中的各种参数配置、故障排查、性能监控以及性能优化。 本书共11章。第1~3章介绍了Java虚拟机的定义、总体架构、常用配置参数。第4~5章介绍了垃圾回收的算法和各种垃圾回收器。...

    深入理解_Java_虚拟机 JVM_高级特性与最佳实践

    / 66 3.5.2 大对象直接进入老年代 / 68 3.5.3 长期存活的对象将进入老年代 / 69 3.5.4 动态对象年龄判定 / 71 3.5.5 空间分配担保 / 73 3.6 本章小结 / 75 第4章 虚拟机性能监控与故障处理工具 / 76 4.1 概述...

    高级java笔试题-understanding-the-jvm:《深入理解Java虚拟机》阅读笔记

    将原书中有关虚拟机性能监控及故障处理的部分单抽了出来,组成了本 repo 的第三部分。第四部分对应于原书的第四部分,程序编译与代码优化,不过仅对 Java 的运行期优化,也就是 JIT 时进行的优化进行了总结,编译器...

    Java虚拟机

    第4章 虚拟机性能监控与故障处理工具 4.1 概述 4.2 JDK的命令行工具 4.2.1 jps:虚拟机进程状况工具 4.2.2 jstat:虚拟机统计信息监视工具 4.2.3 jinfo:Java配置信息工具 4.2.4 jmap:Java内存映像工具 ...

    Java程序性能优化

    第4章介绍了并行开发和如何通过多线程提高系统性能。第5章立足于JVM虚拟机层面,介绍如何通过设置合理的JVM参数提升Java程序的性能。第6章为工具篇,介绍了获取和监控程序或系统性能指标的各种工具,包括相关的故障...

    java程序性能优化

    第4章介绍了并行开发和如何通过多线程提高系统性能。第5章立足于JVM虚拟机层面,介绍如何通过设置合理的JVM参数提升Java程序的性能。第6章为工具篇,介绍了获取和监控程序或系统性能指标的各种工具,包括相关的故障...

    Java程序性能优化 _让你的Java程序更快、更稳

    第4章介绍了并行开发和如何通过多线程提高系统性能。第5章立足于JVM虚拟机层面,介绍如何通过设置合理的JVM参数提升Java程序的性能。第6章为工具篇,介绍了获取和监控程序或系统性能指标的各种工具,包括相关的故障...

    大优惠 Java程序性能优化 让你的Java程序更快、更稳定最新版

    第4章介绍了并行开发和如何通过多线程提高系统性能。第5章立足于JVM虚拟机层面,介绍如何通过设置合理的JVM参数提升Java程序的性能。第6章为工具篇,介绍了获取和监控程序或系统性能指标的各种工具,包括相关的故障...

    lanlan2017#JavaReadingNotes#4.5 本章小结1

    - 第4章 虚拟机性能监控、故障处理工具- 4.5 本章小结本章介绍了随JDK发布的6个命令行工具与4个可视化的故障处理工具,灵活使用这些工具,可以 为处理问题

Global site tag (gtag.js) - Google Analytics