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

相关推荐
利刃大大21 分钟前
【JavaSE】十三、枚举类Enum && Lambda表达式 && 列表排序常见写法
java·开发语言·枚举·lambda·排序
float_六七24 分钟前
Java反射:万能遥控器拆解编程
java·开发语言
han_hanker34 分钟前
java 异常类——详解
java·开发语言
源码获取_wx:Fegn089538 分钟前
基于springboot + vue健身房管理系统
java·开发语言·前端·vue.js·spring boot·后端·spring
峥嵘life43 分钟前
Android16 EDLA 认证测试CTS问题分析解决
android·java·服务器
学习&笔记43 分钟前
MTK(系统篇)user版本无法使用setenforce 0命令关闭selinux权限
linux·运维·服务器
Mr1ght1 小时前
为什么 InheritableThreadLocal 在 Spring 线程池中“偶尔”能传递变量?——一次线程池上下文传播的误解
java·spring
毕设源码-赖学姐1 小时前
【开题答辩全过程】以 基于Java的保定理工科研信息管理系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
Bdygsl1 小时前
Linux(8)—— 进程优先级与环境变量
linux·运维·服务器
another heaven1 小时前
【软考 磁盘磁道访问时间】总容量等相关案例题型
linux·网络·算法·磁盘·磁道