• 阿里 Arthas 3.5.0入门 jvm监控测试操作


    阿里文档地址

    https://arthas.aliyun.com/doc/web-console.html

    一、demo:用来测试的java程序(jvm)

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

    math-game是一个简单的程序,每隔一秒生成一个随机数,再执行质因数分解,并打印出分解结果。

    正文:

     第一步:启动程序

    curl -O https://arthas.aliyun.com/arthas-boot.jar
    java -jar arthas-boot.jar
    • 执行该程序的用户需要和目标进程具有相同的权限。比如以admin用户来执行:sudo su admin && java -jar arthas-boot.jar 或 sudo -u admin -EH java -jar arthas-boot.jar

    • 如果attach不上目标进程,可以查看~/logs/arthas/ 目录下的日志。

    • 如果下载速度比较慢,可以使用aliyun的镜像:java -jar arthas-boot.jar --repo-mirror aliyun --use-http

    • java -jar arthas-boot.jar -h 打印更多参数信息

     

    第二步:选择java进程

    $ $ java -jar arthas-boot.jar
    * [1]: 35542
      [2]: 71560 math-game.jar
    math-game进程是第2个,则输入2,再输入回车/enter。Arthas会attach到目标进程上,并输出日志:
    

      

    第三步: 查看dashboard

    输入dashboard,按回车/enter,会展示当前进程的信息,按ctrl+c可以中断执行。
    

    第四步:通过thread命令来获取到math-game进程的Main Class

    thread 1会打印线程ID 1的栈,通常是main函数的线程。
    
    $ thread 1 | grep 'main('
        at demo.MathGame.main(MathGame.java:17)
    

    二、反编译文档

    demo. 通过jad来反编译Main Class

    命令:jad demo.MathGame

    退出arthas

    如果只是退出当前的连接,可以用quit或者exit命令。Attach到目标进程上的arthas还会继续运行,端口会保持开放,下次连接时可以直接连接上。

    如果想完全退出arthas,可以执行stop命令。

    春有百花秋有月,夏有凉风冬有雪!
  • 相关阅读:
    [PTA练习] 愿天下有情人都是失散多年的兄妹(25分)
    sql server远程连接非1433端口
    java把double转化为long型
    StringUtils工具类
    JfreeChart折线图
    Log4j配置
    Ibatis,Spring整合(注解方式注入)
    Spring中的autowire属性(转)
    MyBatis3入门样例
    struts2 ibatis Spring系统架构图
  • 原文地址:https://www.cnblogs.com/wwwcf1982603555/p/14680875.html
Copyright © 2020-2023  润新知