Arthas实战:阿里巴巴开源的Java诊断利器

Arthas实战:阿里巴巴开源的Java诊断利器

Arthas简介

Arthas是Alibaba开源的Java诊断工具,可以在线排查问题,无需重启即可直观分析JVM的状况。

Arthas支持JDK 6+,采用命令行交互模式,同时提供丰富的tab自动补全功能,进一步方便进行问题的定位和诊断。

Arthas安装

有以下几种方式安装Arthas:

  1. 通过curl命令在Linux/Mac下安装:

    curl -L https://arthas.aliyun.com/install.sh | sh
    
  2. 通过wget命令在Linux/Mac下安装:

    wget https://arthas.aliyun.com/install.sh
    sh install.sh
    
  3. 通过Docker安装:

    docker pull arthas/arthas
    
  4. 通过源码编译安装:

    git clone https://github.com/alibaba/arthas.git
    cd arthas
    mvn clean install -DskipTests
    

Arthas基本使用

这里以一个简单的Spring Boot应用为例,演示Arthas的功能。

  1. 启动示例程序

    java -jar spring-boot-demo.jar
    
  2. 打开另一个Terminal,attach到目标进程

    arthas-boot.jar -pid <pid>
    
  3. 查看dashboard

    dashboard
    

    Dashboard展示了进程的实时数据面板,包括线程、内存、GC等信息。

  4. watching一个方法

    watch demo.MathGame primeFactors
    

    观察到primeFactors方法执行的参数和返回值。

  5. tracing方法内部调用路径

    trace demo.MathGame run
    

    显示run()方法内部的详细调用链路。

  6. 增加logging打印日志

    logger --pattern {params[0]} demo.MathGame
    

    Demo中打印参数列表中的第一个参数。

总结

Arthas提供了方便且功能强大的命令,可以解决本地代码调试中的种种疑难问题。它是一个无可替代的Java诊断利器,推荐所有Java开发者进行学习使用。

你可能感兴趣的:(JAAV性能调优,开源,java,开发语言)