服务监控arthas使用

本文介绍Arthas——一款强大的Java应用诊断工具。覆盖启动、退出方式及常用命令如dashboard、thread、sc与jad等操作技巧。帮助开发者快速定位和解决Java应用中的各类问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官方文档:https://arthas.aliyun.com/doc/dashboard.html

启动

java -jar arthas-boot.jar

退出

如果只是退出当前的连接,可以用quit或者exit命令。Attach 到目标进程上的 arthas 还会继续运行,端口会保持开放,下次连接时可以直接连接上。

如果想完全退出 arthas,可以执行stop命令。

dashboard命令

[i:]刷新实时数据的时间间隔 (ms),默认 5000ms
[n:]刷新实时数据的次数

dashboard -i 2000   控制台2秒刷新一次

thread命令

  • thread -b, 找出当前阻塞其他线程的线程

  • thread --state ,查看指定状态的线程

NEW: 0, RUNNABLE: 9, BLOCKED: 0, WAITING: 3, TIMED_WAITING: 4, TERMINATED
  • thread -i, 指定采样时间间隔

thread -i 1000 : 统计最近 1000ms 内的线程 CPU 时间。

thread -n 3 -i 1000 : 列出 1000ms 内最忙的 3 个线程栈

  • thread --all, 显示所有匹配的线程

sc 查看 JVM 已加载的类信息

sc  com.zgb.lxsass.housing.controller.HousingResourcesControl*

打印出类的 Field 信息:   
sc -d -f demo.MathGame

Jad

反编译指定已加载类的源码,可以通过 jad 命令来反编译代码,jad 命令将 JVM 中实际运行的 class 的 byte code 反编译成 java 代码,便于你理解业务逻辑。

反编译指定类的指定方法

jad --source-only com.zgb.lxsass.housing.controller.HouseholdController getHouseholdPage

JVM

  • COUNT: JVM 当前活跃的线程数
  • DAEMON-COUNT: JVM 当前活跃的守护线程数
  • PEAK-COUNT: 从 JVM 启动开始曾经活着的最大线程数
  • STARTED-COUNT: 从 JVM 启动开始总共启动过的线程次数
  • DEADLOCK-COUNT: JVM 当前死锁的线程数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值