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

- 可以直接在黑框里面输入命令进行调试
重要命令介绍
help
打印命令帮助
dashboard
会展示 线程和内存信息.
cls
清空已有的内容
thread
显示所有的进程信息
thread -b
打印被锁的进程
thread -n 10
打印占用CPU最多的十个进程
jvm
打印java的信息
profiler start / profiler stop
打印火焰图, 有一个默认转储的路径.
sysprop
打印jvm相关参数信息
Arthas 超简单离线使用教程的更多相关文章
- 超简单的JNI——NDK开发教程
不好意思各位,我按照网上一些教程进行JNI开发,折腾了半天也没成功,最后自己瞎搞搞定了,其实超简单的,网上的教程应该过时了,最新版的AS就包含了NDK编译的功能,完全不用手动javah,各种包名路径的 ...
- 程序员,一起玩转GitHub版本控制,超简单入门教程 干货2
本GitHub教程旨在能够帮助大家快速入门学习使用GitHub,进行版本控制.帮助大家摆脱命令行工具,简单快速的使用GitHub. 做全栈攻城狮-写代码也要读书,爱全栈,更爱生活. 更多原创教程请关注 ...
- GitHub这么火,程序员你不学学吗? 超简单入门教程 【转载】
本GitHub教程旨在能够帮助大家快速入门学习使用GitHub. 本文章由做全栈攻城狮-写代码也要读书,爱全栈,更爱生活.原创.如有转载,请注明出处. GitHub是什么? GitHub首先是个分布式 ...
- 【STM32H7教程】第28章 STM32H7时间关键代码在ITCM执行的超简单方法
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第28章 STM32H7时间关键代码在ITCM执行 ...
- 超简单!pytorch入门教程(五):训练和测试CNN
我们按照超简单!pytorch入门教程(四):准备图片数据集准备好了图片数据以后,就来训练一下识别这10类图片的cnn神经网络吧. 按照超简单!pytorch入门教程(三):构造一个小型CNN构建好一 ...
- (超简单)VScode配置C/C++环境图文教程(Windows系统下)
(超简单)VScode配置C/C++环境图文教程(Windows系统下) 本文参考文章 Visual Studio Code (vscode) 配置 C / C++ 环境 下载VScode.下载Min ...
- 【elasticsearch】(2)centos7 超简单安装elasticsearch 的监控、测试的集群工具elasticsearch head
elasticsearch-head是elasticsearch(下面称ES)比较普遍使用的可监控.测试等功能的集群管理工具,是由H5编写的单独的网页程序.使用方法网上很多,这里教大家一个超简单安装h ...
- eclemma怎么安装 eclemma的安装与简单使用图文教程(附下载)
来自于:https://www.jb51.net/softjc/628026.html 一. 安装 有两种安装方法 1. 下载安装(推荐) 地址: http://sourceforge.net/pro ...
- 史上最简单的 SpringCloud 教程 | 终章
https://blog.csdn.net/forezp/article/details/70148833转载请标明出处:http://blog.csdn.net/forezp/article/det ...
- 超简单Windows安装Scrapy (仅需一步)
网上很多关于windows安装Scrapy的教程都非常的繁琐,请看我给大家分享的教程,非常简单 一步完成. 超简单的安装方法: 下载地址: https://www.continuum.io/downl ...
随机推荐
- 华为云PB级数据库GaussDB(for Redis)揭秘第五期:高斯 Redis 在IM场景中的应用
摘要:揭秘高斯 Redis 在IM场景中的应用. 本文分享自华为云社区<华为云PB级数据库GaussDB(for Redis)揭秘第五期:高斯 Redis 在IM场景中的应用>,原文作者: ...
- 解读顶会CIKM'21 Historical Inertia论文
摘要:本文(Historical Inertia: An Ignored but Powerful Baseline for Long Sequence Time-series Forecasting ...
- Gartner 权威预测未来4年网络安全的8大发展趋势
翻译:SEAL安全 原文标题: Gartner Unveils the Top Eight Cybersecurity Predictions for 2022-23 原文链接: https://ww ...
- Intellij IDEA 显示 access.log 日志
先配置 SpringBoot 记录 access.log 日志,先让accesslog 显示出来
- PPT 动画入门
元素动画 进入动画 元素从无到有的过程 退出动画 元素从有到无的过程 退出动画和进入动画,一对一 强调动画 在元素上变化的过程(如放大) 动作路径 3D动画 三维动画 低版本不支持 组合动画 切换动画 ...
- pytest+request+allure生成测试报告
基本流程 模拟数据 url,paras,method,except http://www.baidu.com, {k=12}, get, 200 请求url (接口文档) 参数 请求方法 预期返回响应 ...
- 【计算机网络】JWT token、Session
JWT token https://www.bilibili.com/video/BV1VM4y117qr/?spm_id_from=333.999.0.0&vd_source=d112766 ...
- AtCoder Beginner Contest 208 A~E个人题解
比赛链接:Here A - Rolling Dice 水题 一个六面的骰子,请问摇动 \(A\) 次最后的点数和能否为 \(B\) 如果 \(B \in [a,6a]\) 输出 YES C++ voi ...
- i 的二次幂求和
学习 自为风月马前卒 大佬的数学笔记 \(i^2\) 求和 查阅资料我们很容易就发现 \(\sum_{i = 1}^ni^2 = \frac{n(n + 1)(2n + 1)}{6}\) 但具体怎么求 ...
- Webpack Vue瘦身,感受快到飞起的加载速度!
症结 在利用webpack脚手架搭建vue项目后,往往最终打包的.js和.css文件过于庞大,造成首次加载的时候白屏时间过长,影响用户体验,下图为未经任何优化直接npm run build之后的情况: ...