十二、JVM如何利用工具来监控调优前后的性能变化。
来源:互联网 发布:深圳美生创谷淘宝地址 编辑:程序博客网 时间:2024/06/05 23:50
工具做为图形化界面来展示更能直观的发现问题,另一方面一些消耗性能的分析(dump文件分析)一般也不会在生产直接分析,往往dump下来的文件达1G左右,人工分析效率低,因此利用工具来分析jvm相关问题,常常可以达到事半功倍的效果来。
JVM监控分析工具一般分为两类,一种是jdk自带的工具,一种是第三方的分析工具。jdk自带工具一般在jdk bin目录下面,以exe的形式直接点击就可以使用,其中包含分析工具已经很强大,几乎涉及了方方面面,但是我们最常使用的只有两款:jconsole.exe和jvisualvm.exe;第三方的分析工具有很多,各自的侧重点不同,比较有代表性的:MAT(Memory Analyzer Tool),GChisto等。
对于大型Java应用程序来说,再精细的测试也难以堵住所有的漏洞,即便我们在测试阶段进行了大量卓有成效的工作,很多问题还是会在生产环境下暴露出来,并且很难再测试环境中进行重现。JVM能够记录下问题发生时系统的部分运行状态,并将其存储在堆转储(Heap Dump)文件中,从而为我们分析和诊断问题提供了重要的依据。其中VisualVM和MAT是dump文件的分析利器。
JDK自带的工具
jconsoleJconsole(Java Monitoring and Management Console)是从java5开始,在JDK自带的java监控和管理控制台,用于对JVM中内存,线程和类等的监控,是一个基于JMX(java management extensions)的GUI性能监测工具。jconsole使用jvm的扩展机制获取并展示虚拟机中运行的应用程序的性能和资源消耗等信息。
直接在jdk/bin目录下点击jconsole.exe即可启动,界面如下:
在弹出的框中可以选择本机的监控本机的java应用,也可以选择远程的java服务来监控,如果监控远程服务需要在tomcat启动脚本中添加如下代码:
-Dcom.sun.management.jmxremote.port=6969
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
连接进去之后,就可以看到jconsole概览图和主要的功能:概述,内存,线程,类,VM,MBeans
概述,以图表的方式显示出堆内存使用量,活动线程数,已加载的类,CPU占用率的折线图,可以非常清晰的观察在程序执行过程中的变动情况。
内存,主要展示了内存的使用情况,同时可以查看堆和非堆的变化值对比,也可以点击执行GC来触发GC的执行
线程,主界面展示线程数的活动数和峰值,同时点击左下方线程可以查看线程的详细信息,比如线程的状态是什么,堆栈内容等,同时也可以点击"监测死锁"来检查线程之间是否有死锁的情况。
类,主要展示以加载类的相关信息。
VM概要,展示JVM所有信息总览,包括基本信息,线程相关,堆相关,操作系统,VM参数等。
MBean,查看MBean的属性,方法等。
阅读全文
0 0
- 十二、JVM如何利用工具来监控调优前后的性能变化。
- JVM性能调优监控工具
- JVM性能调优监控工具
- JVM性能调优监控工具
- jvm 性能监控 调优工具
- JVM性能调优监控工具
- JVM性能调优监控工具总结
- JVM性能调优监控工具
- JVM性能调优监控工具
- JVM 性能监控工具
- JVM性能监控工具
- 常用的jvm性能监控工具
- jvm性能监控工具的使用
- JVM性能调优监控工具hprof使用详解
- JVM性能调优监控工具专题一
- JVM性能调优监控工具hprof使用详解
- JDK自带的JVM性能调优监控工具简介
- 利用oracle审计功能来监控测试数据库的变化
- 关于layui的分页插件的使用
- windows下Mysql5.7.18修改初始密码
- python键盘输入五个数字,判断是否是回文数
- 【bzoj1905】捉迷藏(线段树)
- java 8——Lambda表达式
- 十二、JVM如何利用工具来监控调优前后的性能变化。
- 深入理解Linux内核 第一章笔记
- Jquery ajax异步传值的两个json实用的写法,
- ZJU1024-Calendar Game(模拟)
- java冒泡排序——新人冒泡
- 解决刚安装 ubuntu 16.04 连接不上 wifi 问题
- URDF文件的生成和编写(三)
- JZOJ 5207【GDOI2018模拟7.7】暴力大神hxx
- form表单提交,用submit方法并且跳到指定页面或不跳转