Arthas使用-排查线上问题

一、前言:

Arthas可以帮助你解决:

这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
改的代码为什么没有执行到?难道是没 commit?分支搞错了?
遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
是否有一个全局视角来查看系统的运行状况?
有什么办法可以监控到JVM的实时运行状态?
怎么快速定位应用的热点,生成火焰图?

二、Arthas使用

1.在后台应用同路径下上传Arthas完整包(离线)

如果是Docker部署的应用,需要把arthas copy到容器中,如下图:

2.启动arthas

java -jar arthas-boot.jar

3.Arthas相关命令

(1)help : 可以获取到更多的帮助信息

(2)dashboard :可以查看当前系统的实时数据面板。数据面板默认5秒刷新一次。可以 输入Q 后回车 或 Ctrl+C 退出

(3)thread :后面加上线程ID会打印线程的栈。Arthas支持管道,可以用 thread 1 | grep ‘main(’ 查找到arthas-demo应用的main class

        thread -b:死锁线程查看

        thread --state WAITING:查看处于等待状态的线程

        thread -n 3 :查看哪个线程占用CPU高

(4)sc :用来查找JVM里已加载的类。例如查看名称为MathGame的类:sc -d *MathGame

(5)jad :用来反编译代码 。例如查看MathGame类的源代码:jad demo.MathGame

(6)watch:可以查看函数的参数/返回值/异常信息。例子:watch cn.com.shentie.rpum.web.pump.SkylightPlanApplyController querySkylightPlanApplyList "{params,returnObj}" -x 9

(7)session :查看当前会话信息
(8)jvm:查看Jvm虚拟机信息

(9)trace 命令查看接口耗时:trace 类地址.类名 方法名

  例子:trace cn.com.shentie.security.mybatis.hiddentrouble.facade.HitrInvestigateReportFacade saveByDept

相关推荐

  1. 使用arthas排查请求超时问题

    2024-03-29 13:26:02       55 阅读
  2. arthas(阿尔萨斯)-线监控诊断产品

    2024-03-29 13:26:02       33 阅读
  3. 排忧解难:线问题排查工具箱

    2024-03-29 13:26:02       40 阅读
  4. 使用Arthas定位开发常见问题

    2024-03-29 13:26:02       24 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-29 13:26:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-29 13:26:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-29 13:26:02       87 阅读
  4. Python语言-面向对象

    2024-03-29 13:26:02       96 阅读

热门阅读

  1. vue3页面路由缓存的一种方法

    2024-03-29 13:26:02       38 阅读
  2. 一段typescript+html实现的table增删改

    2024-03-29 13:26:02       40 阅读
  3. tp8用切换数据库的方式实现城市分站

    2024-03-29 13:26:02       38 阅读
  4. 《青少年成长管理2024》 009 “成长需要成本”

    2024-03-29 13:26:02       39 阅读
  5. mockito-02-spring aop 与 mockito 冲突及解决方案

    2024-03-29 13:26:02       39 阅读
  6. 【MySQL】mysql数据库小功能整理,持续更新~

    2024-03-29 13:26:02       42 阅读
  7. python面试题(36~50)

    2024-03-29 13:26:02       45 阅读
  8. day 1 HTTP基础

    2024-03-29 13:26:02       44 阅读
  9. 关闭Qt在windows上同时生成debug和release目录

    2024-03-29 13:26:02       36 阅读
  10. npm insall报错无效的依赖类型:别名(alias)

    2024-03-29 13:26:02       41 阅读