侧边栏壁纸
博主头像
Monkey部落博主等级

Monkey部落,分享技术、经验、遇到的问题及解决方法,欢迎大家互相讨论分享。

  • 累计撰写 59 篇文章
  • 累计创建 36 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

arthas使用介绍

Monkey部落
2022-10-08 / 0 评论 / 0 点赞 / 257 阅读 / 718 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-10-18,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

arthas使用介绍

一、介绍

Arthas是阿里巴巴旗下的一款开源的JAVA诊断工具,可以进行线上监控诊断产品,实时查看应用的内存、gc、线程等信息,方便排查线上问题。

二、支持的平台

需要安装JDK6以上版本,支持Linux/Mac/Windows,是使用命令行进行交互。

三、安装

curl -O https://arthas.aliyun.com/arthas-boot.jar
java -jar arthas-boot.jar

启动之后,就会列出当前系统上所有的java进程,输入进程前面的序号,连接到相应的应用进程。

image-20221008231139965

四、常用命令

  1. dashboard

    dashboard
    

    dashboard命令会展示当前进程的相关信息,包含相关线程的线程名称、CPU占用、JVM内存使用情况,java版本等等,并且dashboard展示的信息会默认5秒刷新一次。

    参数 说明
    -i 实时数据刷新时间,默认是5000ms
    -n 实时数据刷新次数

    image-20221008231738125

  2. thread

    thread 线程id
    

    thread命令是查看当前线程的信息,包括线程的堆栈信息。

    参数 说明
    id 线程id
    -n 打印最忙的前n个线程,包含堆栈信息
    -b 找出当前阻塞其他线程的线程
    -i 设置cpu使用率统计的采样时间,单位毫秒,默认是200
    –all 显示所有匹配的线程

    image-20221008232649543

  3. heapdump

    heapdump /路径/dump.hprof
    

    该命令类似jmap的heap dump功能。

  4. jvm

    jvm
    

    查看当前JVM相关信息,包含JVM启动时间、版本、线程数等。

  5. memory

    memory
    

    查看JVM内存信息。

    image-20221008233314484

  6. quit

    quit
    

    退出Arthas客户端。也可以使用exit、logout、q这三个指令。

五、总结

上方命令是基础的常用命令,快速判断应用问题原因,详细分析还需要借助其他命令,例如以下命令。

  1. monitor——方法执行监控。
  2. watch——函数执行数据观测,可以看到函数执行的调用情况、返回值、入参、异常等。
  3. trace——方法内部调用路径,并且输出方法路径上的每个节点的耗时。
  4. stack——当前方法被调用的调用路径。
  5. profiler——生成应用热点火焰图。

排查问题可能需要命令搭配使用,才能找出问题。Arthas命令远不止这些,并且功能也远不止这些,具体可以查看Arthas官网实例和使用方法。官网

觉得写的还不错的小伙伴,请作者喝杯咖啡☕ ,支持一下。😊

如有侵权请立即与我们联系,我们将及时处理,联系邮箱:865934097@qq.com。

0

评论区