jvm调试和查看工具

1.默认自带软件jconsole.exe

位置:C:\Program Files\Java\jdk-17\bin\jconsole.exe

Arthas是阿里开源的JVM调优工具,非常好用,很多公司都使用这个工具。

Arthas提供了强大的调优功能,有很多好用的命令。JDK自带的调优命令arthas基本都实现了。

* 下载:curl -O https://arthas.aliyun.com/arthas-boot.jar 参考:https://arthas.aliyun.com/doc/install-detail.html#arthas-boot

* 运行:java -jar arthas-boot.jar

* 运行后可以:

* 1.可以看到检测到的进程编号,需要看哪个进程,直接输入进程编号。进入进程后,可以使用很多命令:

* 1.1.dashboard: 可以查看一个仪表盘,可以综合的简单查看这个进程相关的运行情况。

* 1.2.jvm: 类似jinfo命令,查询相关参数使用情况,包括使用的垃圾回收器是什么

* 1.3.thread: 把这个进程中的所有线程展示出来,这个很有用。和jstack有点像,但是比它好用。

* a.找到对应的线程后,使用 thread tid查看线程的详细执行情况。

* b.thread | grep XXX。过滤功能,所以建议线程要起名字。

* c.thread -b,可以直接找到有死锁的线程的名字

* 3.命令 -help : 查看具体命令的用法

* 4.查找类 sc; 查找方法 sm; 找到类名和方法名称后使用trace或monitor跟踪方法的整个运行情况,相关的统计。

* 5.heapdump: 类似jmap,可以将堆内存dump下来,使用工具分析。这个命令也会暂停程序,可以内测使用。

* 6.jad 类名: 反编译某个类,类似javap。分析线上运行的版本是不是最新的代码,是不是被别人提交的代码覆盖过。

相关推荐
Mahir087 小时前
Spring 循环依赖深度解密:从问题本质到三级缓存源码级解析
java·后端·spring·缓存·面试·循环依赖·三级缓存
小鹏linux7 小时前
Ubuntu 22.04 部署开源免费具有精美现代web页面的Casdoor账号管理系统
linux·前端·ubuntu·开源·堡垒机
RyFit8 小时前
SpringAI 常见问题及解决方案大全
java·ai
在角落发呆8 小时前
Linux转发配置:解锁网络互联的核心密码
linux·运维·网络
石山代码8 小时前
C++ 内存分区 堆区
java·开发语言·c++
齐潇宇8 小时前
Zabbix 7 概述与配置
linux·zabbix·监控告警
绝知此事8 小时前
【算法突围 01】线性结构与哈希表:后端开发的收纳术
java·数据结构·算法·面试·jdk·散列表
无风听海8 小时前
C# 隐式转换深度解析
java·开发语言·c#
一只大袋鼠9 小时前
Git 进阶(二):分支管理、暂存栈、远程仓库与多人协作
java·开发语言·git
江公望10 小时前
Ubuntu htop命令,10分钟讲清楚
linux·服务器