zoukankan      html  css  js  c++  java
  • arthas 简单使用

    简介

    • Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。
    • 官网地址:https://arthas.aliyun.com/
    • 它可以做什么,以下功能都是直接操作线上跑着的jar包!!!
    1. 反编译,查看线上某个程序的某个类的代码
    2. 查看 某类的某方法调用入参和异常
    3. 查看程序所有的线程、CPU消耗top n 的线程、阻塞的线程

           暂时就举这几个例子吧

    实战

    • 下载

    ubuntu系统,shell连接到服务器,执行:

    wget https://arthas.aliyun.com/arthas-boot.jar
    • 运行
    java -jar arthas-boot.jar

    arthas-bootArthas的启动程序,它启动后,会列出所有的Java进程,用户可以选择需要诊断的目标进程

    红色部分翻译下来是:发现服务器存在的Java进程如下,请选择一个并输入编号,例如输入 1 ,然后敲回车,我这里选择的是 3 ,即运行在 16474 的 guanyu-server-minapp-1.0.0-SNAPSHOT-3d76140.jar

    • 操作
    1. 反编译 
      # jad 类名(带路径)
      jad com.muiyou.api.InvoiceApi
    2. 查看某类某方法调用入参和异常 
      # watch +类名 +方法名 + '{params,throwExp}' -x 2
      # 方法名可以用 * 代指所有方法
      watch com.muiyou.web.AreaController save '{params,throwExp}' -x 2

      此时再访问该方法,就会打印入参,如果报错还会打印异常

    3. 查看线程相关 
      #查看所有线程
      thread
      
      #查看 CPU top n 的线程
      thread -n 数字
      
      #查看5秒内 CPU top 3 的线程
      thread -n 3 -i 5000
      
      #查看阻塞线程
      thread -b
    4. 退出 arthas 
      #退出 
      exit 或者 quit
      
      #彻底退出
      stop

    好了,就说这么多,有兴趣的可以访问官网自己探索别的功能~

    比如 热更新代码~

    stay hungry stay foolish!
  • 相关阅读:
    P1012拼数
    P1622释放囚犯
    P1064 金明的预算方案
    P1754球迷购票问题
    卡塔兰数
    P1474货币系统
    P2562kitty猫基因
    P3984高兴的津津
    5-servlet简介
    java通过百度AI开发平台提取身份证图片中的文字信息
  • 原文地址:https://www.cnblogs.com/shog808/p/15632623.html
Copyright © 2011-2022 走看看