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!
  • 相关阅读:
    谈谈django里的Contex和RequestContext---向模板里添加全局变量
    Django如何重设Admin密码
    javascript的闭包
    javascript的this用法
    阮一峰---javascript系列
    Javascript继承机制总结 [转]
    chrome浏览器开发者工具使用教程[转]
    WAMP设置默认访问目录
    js 去掉空格.回车.换行
    网站服务器上载目录
  • 原文地址:https://www.cnblogs.com/shog808/p/15632623.html
Copyright © 2011-2022 走看看