性能测试之JVM的故障分析工具VisualVM
VisualVM 是随JDK一同发布的jvm诊断工具,通过插件可以扩展很多功能,插件扩展也是其精华所在。
提供了一个可视界面,用于在Java应用程序在Java虚拟机上运行时查看有关Java应用程序的详细信息。此信息可用于对本地和远程应用程序进行故障排除以及对本地应用程序进行性能分析。
使用Java VisualVM,可以生成和分析堆转储,跟踪内存泄漏,执行和监视垃圾回收以及执行轻量级内存和CPU性能分析。该工具对于调整,堆大小,脱机分析和事后诊断也很有用。
使用方法
- 启动
cd <JDK_HOME>/bin
jvisualvm
- 选择监控进程

当然监控支持远程JMX监控和远程主机监控
监控视图:监控cpu、堆、类加载、线程数

线程监控:死锁诊断等

cpu和内存取样分析:cpu线程占用分析、内存占用分析等


GC监控插件

插件推荐
Visual GC
将可视垃圾收集监视工具集成到VisualVM中。Visual GC附加到应用程序,并收集并以图形方式显示垃圾收集,类加载器和HotSpot编译器性能数VisualVM MBeans
MBeans浏览器插件提供的功能类似于JConsole中的MBeans浏览器:显示应用程序的MBean,显示值,操作和通知。在VisualVM中,浏览器得到了进一步的改进,以提供更好的可用性并支持最新的JMX功能VisualVM Extensions
该模块的目的是添加对在发布VisualVM时VisualVM核心模块不支持的其他功能(例如新的JDK,JVM,HotSpot版本...)的支持Tracer
用于详细监视和分析Java应用程序的框架和GUI。跟踪器使用各种探针,从应用程序收集指标并在时间轴中显示数据。数据以图形方式和表格形式显示,并可以导出为通用格式,以供外部工具进行进一步处理JConsole
支持在VisualVM中使用现有的JConsole插件(如JTop)Threads Inspector
线程检查器在“线程”选项卡上添加了一个新部分,其中显示了选定活动线程的堆栈跟踪。
扫一扫,关注我

性能测试之JVM的故障分析工具VisualVM的更多相关文章
- 性能测试之JVM的故障排查-堆内存泄漏
JVM异常说明(超链接) 一文中已介绍了,JVM每个运行时区域--程序计数器 .Java虚拟机栈.本地方法栈.Java堆.方法区.直接内存发生OutOfMemoryError的不同原因和不同错误信息. ...
- 性能测试之 JVM 概念认识
无论什么语言,在程序运行过程中,都需要对内存进行管理,要知道计算机/服务器的内存不是无限的.例如:C语言中需要对对象的内存负责,需要用delete/free来释放对象:那JAVA中,对象的内存管理是由 ...
- 性能测试之数据库监控分析工具PMM
PMM(Percona Monitoring and Management) 是一个用于管理和监控数据库性能的开源平台. . 它能提供全面的基于时间和各类监控指标.计数器的分析. 性能测试中,是做数据 ...
- 性能测试之数据库监控分析工具Grafana+Prometheus
使用到 Grafana+Prometheus+Mysql_exportor 使用Prometheus和Grafana,可以快速的构建我们性能测试的绝大多数的监控模型:数据库监控.服务器监控.Jvm监控 ...
- 性能测试之JVM的故障排查-死锁
死锁原因 Java发生死锁的根本原因是:在申请锁时发生了交叉闭环申请.即线程在获得了锁A并且没有释放的情况下去申请锁B,这时,另一个线程已经获得了锁B,在释放锁B之前又要先获得锁A,因此闭环发生,陷入 ...
- 性能测试之JVM的监控Grafana
安装配置Grafana参考 https://testerhome.com/articles/23629 使用配置 下载jmx_exporter https://github.com/prometheu ...
- 使用阿里开源工具 TProfiler 在海量业务代码中精确定位性能代码 (jvm性能调优)
技术交流群:233513714 本文是<JVM 性能调优实战之:一次系统性能瓶颈的寻找过程> 的后续篇,该篇介绍了如何使用 JDK 自身提供的工具进行 JVM 调优将 TPS 由 2.5 ...
- jvm系列(七):jvm调优-工具篇
16年的时候花了一些时间整理了一些关于jvm的介绍文章,到现在回顾起来还是一些还没有补充全面,其中就包括如何利用工具来监控调优前后的性能变化.工具做为图形化界面来展示更能直观的发现问题,另一方面一些耗 ...
- 深入理解java虚拟机---虚拟机工具VisualVM(十九)
性能分析神器VisualVM 9602 VisualVM 是一款免费的,集成了多个 JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优.这些功能包括生成 ...
随机推荐
- 解码问题--leetcode:91 (2019商汤笔试)
题目:有一种将字母编码成数字的方式:'a'->1, 'b->2', ... , 'z->26'. 现在给一串数字,给出有多少种可能的译码结果. 想法: 该题就是动态规划问题,建议在写 ...
- 基于 abp vNext 和 .NET Core 开发博客项目 - 定时任务最佳实战(一)
上一篇(https://www.cnblogs.com/meowv/p/12966092.html)文章使用AutoMapper来处理对象与对象之间的映射关系,本篇主要围绕定时任务和数据抓取相关的知识 ...
- CPU-如何开始在新的CPU上编程
https://mp.weixin.qq.com/s/rNXDPR53m--XuvJLE1CDvA 新在哪里?从未接触过.比如之前一直在x86.ARM上写程序,C比较多,汇编也调过.MIPS可能零 ...
- MethodHandle(方法句柄)系列之一:MethodHandle和MethodType
阅读此文章的作者建议先了解java反射和动态代理. java7中为间接调用方法引入了新的api,其中最关键的是java.lang.invoke包,即方法句柄.我们可以看成是java ...
- Java并发编程 (三) 项目准备
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一.案例环境初始化 1.环境搭建与准备 Spring Boot 项目,https://start.spr ...
- 一个request请求然后锁定等待异步接口处理结果
private ConcurrentHashMap<String, Locker> relation = new ConcurrentHashMap<String, Locker&g ...
- Java实现 蓝桥杯VIP 算法提高 扫雷
算法提高 扫雷 时间限制:1.0s 内存限制:256.0MB 问题描述 扫雷游戏你一定玩过吧!现在给你若干个n×m的地雷阵,请你计算出每个矩阵中每个单元格相邻单元格内地雷的个数,每个单元格最多有8个相 ...
- java实现 蓝桥杯 算法提高 Problem S4: Interesting Numbers 加强版
1 问题描述 Problem Description We call a number interesting, if and only if: 1. Its digits consists of o ...
- java代码(12) ---CollectionUtils工具类
CollectionUtils工具类 CollectionUtils工具类是在apache下的,而不是springframework下的CollectionUtils 个人觉得在真实项目中Collec ...
- Hadoop之hadoop fs和hdfs dfs、hdfs fs三者区别
适用范围 案例 备注 小记 hadoop fs 使用范围最广,对象:可任何对象 hadoop dfs 只HDFS文件系统相关 hdfs fs 只HDFS文件系统相关(包括与 ...