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。分析线上运行的版本是不是最新的代码,是不是被别人提交的代码覆盖过。

相关推荐
西凉的悲伤15 分钟前
redis和数据库实现分布式锁
java·数据库·redis·分布式
weixin_5231853220 分钟前
Java内存模型详解:栈、堆、方法区、本地方法栈与程序计数器
java·开发语言
ywl47081208720 分钟前
泛型extends和super的区别
java
拦路雨g24 分钟前
VMware centos磁盘容量扩容
linux·运维·centos
Tellmeulovewho28 分钟前
阿里云Linux云服务器部署Python项目——从零到生产环境的完整实战指南
linux·服务器·阿里云
我星期八休息30 分钟前
Linux系统编程— Mmap实现⽂件LRU缓存
linux·运维·服务器·数据库·mysql·缓存
惜缘破军31 分钟前
基于 Spring Boot 4 和 Spring Cloud 2025 的微服务基础框架 hdfk7-boot
java
jiuri_121537 分钟前
Linux 服务器 Codex + DeepSeek 配置
linux·运维·服务器
__Witheart__37 分钟前
关于 uname 查看的内核版本号的后缀
android·linux·ubuntu·rockchip