Java问题诊断工具——JVisualVM

这篇具有很好参考价值的文章主要介绍了Java问题诊断工具——JVisualVM。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这篇文章源自一次加班改bug的惨痛经历=[,,_,,]:3

负责的一个项目占用不断增加,差点搞崩服务器(╥﹏╥)……

一下子有点懵,不能立刻确定是哪里导致的问题,所以决定好好研究下这个之前一直被我忽视的问题诊断工具🔧——JVisualVM

嘿嘿我们开始吧(。・ω・。)ノ

简介

JVisualVM是一款支持对CPU、内存运行进行采样、配置的可视化的界面

基本操作流程

  1. 打开JVisualVM

命令行中输入jvisualvm

Java问题诊断工具——JVisualVM

然后就会弹出如下图形界面

Java问题诊断工具——JVisualVM
  1. 查看监视模块

JVisualVM界面的左侧会出现正在运行中的项目,单机选择一个项目,右侧就会出现这个项目的概况

Java问题诊断工具——JVisualVM

在右侧试图中选择“监视”,下方会出现该项目运行参数详情🔎(包括CPU使用情况,堆/Metaspace使用情况,当前项目的类详情,以及线程使用详情)

Java问题诊断工具——JVisualVM

举个🌰

拿我这次遇到的问题举个例子

我在本地运行这个出问题的项目,打开该项目的监视模块,发现其他基本正常,但是线程数在不断增加(如下两张图的线程数的对比,9分钟活动线程就从21,增加到了99),这应该就是导致内存不断增加的原因。

开始监视:

Java问题诊断工具——JVisualVM

9分钟后:

Java问题诊断工具——JVisualVM

于是在确定了问题可能出现的几个位置后,我分别进行注释,然后观察注释前后,项目执行时JVisualVM中监测模块的数据变化……

直到当我注释其中一个位置时,发现线程数不再一直增加了

Java问题诊断工具——JVisualVM

longlonglong……ago(大概也就一个世纪吧=_=)

Java问题诊断工具——JVisualVM

只增加了3个,所以问题基本就确定了,后面就开始吭哧吭哧改代码叻(_ _).。o○就不啰嗦叻

扩展资料💾

由于有后续工作排期,找到了问题就没有再继续深入了,想要深入的盆友可以参考官方网站

https://visualvm.github.io/index.html文章来源地址https://www.toymoban.com/news/detail-421292.html

到了这里,关于Java问题诊断工具——JVisualVM的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JVM-jvisualvm性能监控可视化工具使用与eden-s0-s1分配分析(三)

    目录 第一步:安装jvisualvm  第二步:安装VisualvmGc插件 方式一:jvisualvm工具直接下载安装 方式二:去官网下载导入安装 总结 第三步:idea安装VisualvM Launcher插件 第四步:演示young中eden、s0、s1垃圾回收过程 1、配置jvm堆大小  2、启动一个项目 3、打开jvisualvm 第五步:jvisualvm性

    2024年02月11日
    浏览(40)
  • 【Java可执行命令】(十七)JVM运行时信息动态维护工具 jinfo:一个维护 JVM 相关的配置参数和系统属性的工具,辅助故障排除、诊断和优化 ~

    jinfo 是 Java Development Kit (JDK) 自带的一款命令行工具。它旨在为用户提供进程的运行时信息,特别是与 Java 虚拟机 (JVM) 相关的配置和系统属性。 jinfo 使得用户可以轻松地查看和修改正在运行的 Java 进程的参数,以便进行 故障排除、诊断和优化 。 jinfo 允许用户动态查询和修改

    2024年02月13日
    浏览(40)
  • JVisualVM:The operation couldn’t be completed. Unable to locate a Java Runtime that supports jvisual

    Key Value 操作系统 MacOS M系列 java version 1.8.0_371 终端执行 jvisualvm 命令,出现如下异常信息 注意 :从问题的解决办法上来看此次错误和操作系统无关。根本原因是 jdk 1.8.0_361之后需要自行下载安装VisualVM 。因此本文记录的核心解决办法就是: 检查JDK版本是否在1.8.0_361之后 是;

    2024年02月07日
    浏览(38)
  • JVM监控及诊断工具大全

    jconsole:从Java5开始,在JDK中自带的java监控和管理控制台。用于对JVM中内存、线程和类等的监控,是一个基于JMX(java management extensions)的GUI性能监控工具。 官方地址:https://docs.oracle.com/javase/7/docs/technotes/guides/management/jconsole.html Visual VM是一个功能强大的多合一故障诊断和性能

    2024年02月08日
    浏览(31)
  • Valgrind内存诊断工具的使用笔记

    Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的神器,能够帮助我们快速定位到程序的内存问题,比如内存泄漏导致的 段错误 (核心已转储) 包含以下工具: Memcheck :检查程序中的内存问题,如泄漏、越界、非法指针等 Callgrind :主要用来检查程序中函数调用过程中

    2024年02月10日
    浏览(25)
  • 5. CANopen网络诊断工具和方法

    文章五:CANopen网络诊断与安全性 最近开始学习CANOpen相关的知识,借助于AI助手工具,学习事半功倍。欢迎访问:http://airight.fun/。 本人学习canopen过程中珍藏了一下资料,分享出来与大家学习参考。 链接:https://pan.baidu.com/s/1SRg5YrQjvpzXEIi_fOmxQg?pwd=20v4 提取码:20v4 CANopen作为一种

    2024年02月13日
    浏览(80)
  • Arthas诊断工具在docker中使用

    在实际工作中很多的服务都使用docker部署,如果直接在服务器中使用Arthas则找不到运行的服务而无法使用Arthas进行诊断,因此需要进入到容器内部才能使用Arthas进入诊断。 输入命令dashboard就可以看到,到这里就可以对服务进行诊断了,具体的arthas命令见官方文档或安装idea插

    2024年02月06日
    浏览(26)
  • 【JVM 监控工具】性能诊断--JProfiler的使用

    性能诊断是软件工程师在日常工作中需要经常面对和解决的问题,在用户体验至上的今天,解决好应用的性能问题能带来非常大的收益。Java 作为最流行的编程语言之一,其应用性能诊断一直受到业界广泛关注。可能造成 Java 应用出现性能问题的因素非常多,例如线程控制、

    2024年02月08日
    浏览(46)
  • 基于doipclient设置一个简易的诊断服务工具

    python-doipclient: doipclient is a pure Python 3 Diagnostic over IP (DoIP) client which can be used for communicating with modern ECU\\\'s over automotive ethernet. It implements the majority of ISO-13400 (2019) from the perspective of a short-lived synchronous client. The primary use case is to serve as a transport layer implementation for the udsoncan library

    2023年04月22日
    浏览(32)
  • 总线测试工具 CANOE基本使用教程,诊断等

    CANoe(德国Vector公司推出的一款总线开发环境)_百度百科 (baidu.com) CANoe是德国Vector公司出的一款总线开发环境,全称叫CAN open environment,主要用于汽车总线的开发而设计的。CANoe的前期是为了对CAN通信网络进行建模、仿真、测试和开发,后来扩展加入了 LIN、Ethernet、 FlexRay、

    2024年02月02日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包