概述
官网地址
简介:
介绍:
Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。
Arthas(阿尔萨斯)能为你做什么?
Arthas
是 Alibaba 开源的 Java 诊断工具,深受开发者喜爱。
当你遇到以下类似问题而束手无策时,Arthas
可以帮助你解决:
- 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
- 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
- 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
- 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
- 是否有一个全局视角来查看系统的运行状况?
- 有什么办法可以监控到 JVM 的实时运行状态?
- 怎么快速定位应用的热点,生成火焰图?
- 怎样直接从 JVM 内查找某个类的实例?
Arthas
支持 JDK 6+,支持 Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 Tab
自动补全功能,进一步方便进行问题的定位和诊断。
安装:
Linux:
curl -O https://arthas.aliyun.com/arthas-boot.jar
java -jar arthas-boot.jar
如果下载速度比较慢,可以使用 aliyun 的镜像:java -jar arthas-boot.jar --repo-mirror aliyun --use-http
完全退出arthas可以执行`stop`
arthas常用命令:
详细命令及介绍可参考
命令 | 详细说明 |
---|---|
jvm | 查看当前JVM信息 |
thread | 查看当前JVM的线程堆栈信息,这个命令和 jstack 很相似,但是功能更加强大,主要是查看当前 JVM 的线程堆栈信息 |
watch | 方法执行数据观测 |
dashboard | 当前系统的实时数据面板 |
trace | 方法内部调用路径,并输出方法路径上的每个节点上耗时 |
stack | 输出当前方法被调用的调用路径 |
tt | 方法执行数据的时空隧道,记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测 |
vmoption | 查看,更新JVM已加载的类信息 |
sc | 查看JVM已加载的类信息 |
sm | 查看已加载类的方法信息 |
jad | 反编译指定已加载类的源码 |
heapdump | 类似jmap命令的heap dump 功能 |
classloader | 查看classloader的继承树,urls,类加载信息 |
jvm 命令:
OPERATING-SYSTEM:系统相关参数
THREAD相关:
- COUNT : JVM当前活跃的线程数
- DAEMON-COUNT : JVM当前活跃的守护线程数
- PEAK-COUNT: 从JVM启动开始曾经活着的最大线程数
- STARTED-COUNT: 从JVM启动开始总共启动过的线程次数
- DEADLOCK-COUNT: JVM当前死锁的线程数
FILE-DESCRIPTOR(文件描述符相关):
- MAX-FILE-DESCRIPTOR-COUNT:JVM进程最大可以打开的文件描述符数
- OPEN-FILE-DESCRIPTOR-COUNT:JVM当前打开的文件描述符数
thread 命令:
参数说明:
命令 | 详细说明 |
---|---|
id | 线程id |
[n:] | 指定最忙的前N个线程并打印堆栈 |
[b] | 找出当前阻塞其他线程的线程 |
[i] | 指定cpu使用率统计的采样间隔,单位为毫秒,默认值为200 |
[–all] | 显示所有匹配的线程 |
打印当前最忙的N个线程并打印堆栈
thread -n 3
thread -i 1000 -n 3 每过 1000 毫秒进行采样,显示最占 CPU 时间的前 3 个线程
thread –b 找出阻塞当前线程的线程
thread 显示所有线程
thread 43: 显示指定线程ID的运行堆栈
thread --state WAITING 查看处于等待状态的线程
dashboard 命令:
运行程序时,会显示当前程序的实时信息,如qps, rt, 错误数, 线程池信息等等
dashboard -i 1000 每过1000毫秒进行更新,默认是5000毫秒
heapdump 命令:
heapdump /usr/local/tomcat/tomcat.hprof 指定dump文件路径,备份所有
heapdump --live /usr/local/tomcat/tomcat.hprof 备份live类的dump
memory 命令:
最后
以上就是温暖向日葵为你收集整理的JVM 应用诊断利器简介:安装:arthas常用命令:的全部内容,希望文章能够帮你解决JVM 应用诊断利器简介:安装:arthas常用命令:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复