• Arthas 超简单离线使用教程


    简介

    • Arthas 是阿里巴巴开源的一套监控java应用的工具
    • 官网的文档地址: https://arthas.aliyun.com/doc/
    • 官方的简介说明:
    • Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。
    当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:
    这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
    我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
    遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
    线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
    是否有一个全局视角来查看系统的运行状况?
    有什么办法可以监控到JVM的实时运行状态?
    怎么快速定位应用的热点,生成火焰图?
    怎样直接从JVM内查找某个类的实例?
    

    下载

    • 建议下载全量包,避免仅下载boot无网络情况下无法使用
      https://arthas.aliyun.com/download/latest_version?mirror=aliyun
    • 2022.3.22时最新的版本是 3.5.6

    简单使用

    • 注意这里仅介绍一些基本的使用(复杂的我还没学习)
    • 第一次安装和启动
    打开命令
    注意1: 需要使用一个安装比较完整的jdk, 如果仅是jre可能无法运行
    比如我这边的jdk的安装路径为
    /myapp/server/runtime/java/x86_64linux/bin/java
    那么我就可以如此运行
    1. 将压缩包上传到某一个路径,并且解压缩: 
    比如我这边上传到了 /arthas/目录.
    2. 执行命令为:
    /myapp/server/runtime/java/x86_64linux/bin/java  -jar /arthas/arthas-boot.jar --target-ip 10.110.83.xx 
    注意: 可以直接使用jdk全路径的java 二进制文件执行 -jar 命令
    注意: 可以直接使用 --target-ip 的方式暴露一下 arthas的端口出来. 默认为 3658 
    注意: 打开 3658的防火墙(建议仅打开部分,不要全部打开,避免安全问题)
    

    简单使用

    • 启动命令的效果
    [root@centos7ver2009 ~]# /myapp/server/runtime/java/x86_64-linux/bin/java -jar arthas-boot.jar --target-ip 10.110.83.113
    [INFO] arthas-boot version: 3.5.3
    [INFO] Process 4318 already using port 3658
    [INFO] Process 4318 already using port 8563
    [INFO] Found existing java process, please choose one and input the serial number of the process, eg : 1. Then hit ENTER.
    * [1]: 4318 ./server/runtime/caf-bootstrap.jar
      [2]: 8034 sun.tools.jconsole.JConsole
      [3]: 4406 ./dmp-datafactory.jar
      [4]: 4615 ./runtime/rtf-operations-management-bootstrap.jar
      [5]: 4317 ./runtime/rtf-operations-management-bootstrap.jar
    1
    [INFO] arthas home: /root/.arthas/lib/3.5.6/arthas
    [INFO] The target process already listen port 3658, skip attach.
    [INFO] arthas-client connect 10.110.83.113 3658
      ,---.  ,------. ,--------.,--.  ,--.  ,---.   ,---.                           
     /  O  \ |  .--. ''--.  .--'|  '--'  | /  O  \ '   .-'                          
    |  .-.  ||  '--'.'   |  |   |  .--.  ||  .-.  |`.  `-.                          
    |  | |  ||  |\  \    |  |   |  |  |  ||  | |  |.-'    |                         
    `--' `--'`--' '--'   `--'   `--'  `--'`--' `--'`-----'                          
    
    wiki       https://arthas.aliyun.com/doc                                        
    tutorials  https://arthas.aliyun.com/doc/arthas-tutorials.html                  
    version    3.5.6                                                                
    main_class                                                                      
    pid        4318                                                                 
    time       2022-03-22 08:08:40 
    

    简单使用

    • 注意可以使用网页端也可以实名 shell 进行处理. 如果有堡垒机比较复杂,建议可以打开端口使用网页进行监控
    • 注意arthas监控会造成一定程度的性能下降.强烈不建议用于高压力的高峰时段生产环境
    • 打开网页 比如我这边就是 http://10.110.83.xx:3658
    • 效果图为:
      image
    • 可以直接在黑框里面输入命令进行调试

    重要命令介绍

    help
    打印命令帮助
    dashboard 
    会展示 线程和内存信息.
    cls
    清空已有的内容
    thread 
    显示所有的进程信息
    thread -b 
    打印被锁的进程
    thread -n 10 
    打印占用CPU最多的十个进程
    jvm
    打印java的信息
    profiler start / profiler stop
    打印火焰图, 有一个默认转储的路径.
    sysprop
    打印jvm相关参数信息
    
  • 相关阅读:
    HDU 3709 Balanced Number
    HDU 3652 B-number
    HDU 3555 Bomb
    全局和局部内存管理
    [转]
    [转]
    [转]
    The Stable Marriage Problem
    STL各种容器的使用时机详解
    Qt中图像的显示与基本操作
  • 原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/16037719.html
Copyright © 2020-2023  润新知