简介

  • 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
  • 效果图为:

  • 可以直接在黑框里面输入命令进行调试

重要命令介绍

help
打印命令帮助
dashboard
会展示 线程和内存信息.
cls
清空已有的内容
thread
显示所有的进程信息
thread -b
打印被锁的进程
thread -n 10
打印占用CPU最多的十个进程
jvm
打印java的信息
profiler start / profiler stop
打印火焰图, 有一个默认转储的路径.
sysprop
打印jvm相关参数信息

Arthas 超简单离线使用教程的更多相关文章

  1. 超简单的JNI——NDK开发教程

    不好意思各位,我按照网上一些教程进行JNI开发,折腾了半天也没成功,最后自己瞎搞搞定了,其实超简单的,网上的教程应该过时了,最新版的AS就包含了NDK编译的功能,完全不用手动javah,各种包名路径的 ...

  2. 程序员,一起玩转GitHub版本控制,超简单入门教程 干货2

    本GitHub教程旨在能够帮助大家快速入门学习使用GitHub,进行版本控制.帮助大家摆脱命令行工具,简单快速的使用GitHub. 做全栈攻城狮-写代码也要读书,爱全栈,更爱生活. 更多原创教程请关注 ...

  3. GitHub这么火,程序员你不学学吗? 超简单入门教程 【转载】

    本GitHub教程旨在能够帮助大家快速入门学习使用GitHub. 本文章由做全栈攻城狮-写代码也要读书,爱全栈,更爱生活.原创.如有转载,请注明出处. GitHub是什么? GitHub首先是个分布式 ...

  4. 【STM32H7教程】第28章 STM32H7时间关键代码在ITCM执行的超简单方法

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第28章       STM32H7时间关键代码在ITCM执行 ...

  5. 超简单!pytorch入门教程(五):训练和测试CNN

    我们按照超简单!pytorch入门教程(四):准备图片数据集准备好了图片数据以后,就来训练一下识别这10类图片的cnn神经网络吧. 按照超简单!pytorch入门教程(三):构造一个小型CNN构建好一 ...

  6. (超简单)VScode配置C/C++环境图文教程(Windows系统下)

    (超简单)VScode配置C/C++环境图文教程(Windows系统下) 本文参考文章 Visual Studio Code (vscode) 配置 C / C++ 环境 下载VScode.下载Min ...

  7. 【elasticsearch】(2)centos7 超简单安装elasticsearch 的监控、测试的集群工具elasticsearch head

    elasticsearch-head是elasticsearch(下面称ES)比较普遍使用的可监控.测试等功能的集群管理工具,是由H5编写的单独的网页程序.使用方法网上很多,这里教大家一个超简单安装h ...

  8. eclemma怎么安装 eclemma的安装与简单使用图文教程(附下载)

    来自于:https://www.jb51.net/softjc/628026.html 一. 安装 有两种安装方法 1. 下载安装(推荐) 地址: http://sourceforge.net/pro ...

  9. 史上最简单的 SpringCloud 教程 | 终章

    https://blog.csdn.net/forezp/article/details/70148833转载请标明出处:http://blog.csdn.net/forezp/article/det ...

  10. 超简单Windows安装Scrapy (仅需一步)

    网上很多关于windows安装Scrapy的教程都非常的繁琐,请看我给大家分享的教程,非常简单 一步完成. 超简单的安装方法: 下载地址: https://www.continuum.io/downl ...

随机推荐

  1. 技术实践丨GaussDB(DWS)运维管理功能“升级”的原理和使用

    摘要:本文将详细介绍GaussDB(DWS)重要运维管理功能"升级"的原理和使用. 运维管理模块是任何软件产品最基础和重要的一部分.是软件产品的门户,也是用户接触和使用软件产品的和 ...

  2. 数仓专家面对面 | 为什么我选择GaussDB(DWS)

    摘要:你知道数仓是如何应运而生的吗?你了解数仓未来的发展趋势吗?想知道国内数仓专家的看法吗? 导语 数据仓库的发展一直是备受关注的议题,随着近年来技术的不断演进,数仓也在更新迭代. 你知道数仓是如何应 ...

  3. Solon cloud 使用融断器 sentinel 或 guava 或 semaphore

    Solon Cloud 是一套防腐层的架构方案.提供统一的接口定义和配置设计,从而实现不同框架统一体验的效果. 目前,已适配的融断器有三个插件且体验方式完全相同,分别是: sentinel-solon ...

  4. 干掉 Navicat! 一款数据分析师必备的数据库可视化工具

    数据开发,离不开数据库,一款优秀的数据库开发和管理工具可以达到事半功倍的效果.市面上比较流行的数据库管理工具主要有Navicat.DBeaver.SQLyog等等,Navicat是其中的无冕之王,其拳 ...

  5. 【django-vue】七牛云上传视频 搜索接口 支付宝sdk二次封装 下单接口 前端支付页面 支付成功回调接口

    目录 上节回顾 课程详情接口 choice字段 今日内容 1 文件存储 1.1 七牛云上传文件 2 搜索导航栏 2.1 Header.vue 3 搜索接口 4 搜索页面 5 支付宝支付介绍 5.1 支 ...

  6. 可用性库存(CO09)排除库存地点增强

    1.业务需求 1.1.业务背景 1.2.对应方案: 2.测试BAPI 首先运行事务代码CO09,查看结果 运行BAPI_MATERIAL_AVAILABILITY 3.增强实现 3.1.增强思路 3. ...

  7. 项目2 可视化数据(第17章 使用API)

    17.1 使用Web API Web API是网站的一部分,用于与使用非常具体的URL请求特定信息的程序交互.这种请求称为API调用.请求的数据将以易于处理的格式(如JSON或CSV)返回. 17.1 ...

  8. 前端科普系列(3):CommonJS 不是前端却革命了前端

    本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/15sedEuUVTsgyUm1lswrKA作者:Morrain 一.前言 上一篇<前端科 ...

  9. SpringCloud学习 系列七、EurekaServer集群创建

    系列导航 SpringCloud学习 系列一. 前言-为什么要学习微服务 SpringCloud学习 系列二. 简介 SpringCloud学习 系列三. 创建一个没有使用springCloud的服务 ...

  10. SetFitABSA: 基于 SetFit 的少样本、方面级情感分析

    SetFitABSA 是一种可以有效从文本中检测方面级情感的技术. 方面级情感分析 (Aspect-Based Sentiment Analysis,ABSA) 是一种检测文本中特定方面的情感的任务. ...