目录
什么是arthas
常用命令列表
1、dashboard仪表盘
2、heapdump dumpJAVA堆栈快照
3、jvm
4、thread
5、memory
官方文档
安装使用
1、云安装arthas
2、获取需要监控进程ID
3、运行arthas
4、进入仪表盘
5、其他命令使用查看官方文档
什么是arthas
arthas是阿里巴巴开源的一款线上监控诊断产品,能够实时查看应用加载、内存、垃圾收集、线程等信息。可以在不修改代码的情况下,对线上应用进行诊断监控,大大提升异常排查效率。
常用命令列表
1、dashboard仪表盘
进入仪表盘会显示当前 tomcat 的实时信息,如 HTTP 请求的 qps, rt, 错误数, 线程池信息等等。
2、heapdump dumpJAVA堆栈快照
dump 到指定文件
[arthas@58205]$ heapdump /tmp/dump.hprof
Dumping heap to /tmp/dump.hprof...
Heap dump file created
3、jvm
查看当前jvm信息
4、thread
查看线程信息
参数名称 | 参数说明 |
id | 线程 id |
[n:] | 指定最忙的前 N 个线程并打印堆栈 |
[b] | 找出当前阻塞其他线程的线程 |
[i <value>] | 指定 cpu 使用率统计的采样间隔,单位为毫秒,默认值为 200 |
[--all] | 显示所有匹配的线程 |
5、memory
查看JVM内存信息
官方文档
arthas
安装使用
1、云安装arthas
命令: wget https://arthas.aliyun.com/arthas-boot.jar
2、获取需要监控进程ID
命令:top -c
如图所示需要监控的进程ID为 1
3、运行arthas
命令:java -jar arthas-boot.jar
运行成功后键入进程ID 1
如图所示已经启动arthas并监控进程1的应用信息
4、进入仪表盘
命令:dashboard
如图所示有进程运行的线程、内存、垃圾回收、运行时间等信息。如果应用存在内存泄露我们可以看到哪些线程占用内存最多,然后进入线程从而获取堆栈。
5、进入线程
命令: thread 线程ID
[arthas@1]$ thread 812
如图所示我们可以看到当前线程812的信息,在遇到内存泄露的情况下,这里就可以看到具体的代码逻辑。
5、其他命令使用查看官方文档
arthas
总结:线上监控诊断产品arthas入门容易、操作简单,特别适合线上应用查看加载、内存、垃圾回收GC、线程信息。其中的dashboard仪表盘非常容易监控和发现异常线程,极大的方便我们找出异常代码解决各种内存泄露等问题。