简介

  • 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. PreSTU:一个专门为场景文本理解而设计的简单预训练模型

    摘要:在视觉与语言(V&L)模型中,阅读和推理图像中的文本的能力往往是缺乏的.我们如何才能学习出强大的场景文本理解(STU)的V&L模型呢? 本文分享自华为云社区<场景文本理解预 ...

  2. Open Serverless Benchmark Initiative: 华为云联合上海交大发布ServerlessBench 2.0

    Key Takeaways 华为云联合上海交大,首次提出 Open Serverless Benchmark Initiative (OSBI) ,推动Serverless基准测评规范化.标准化: O ...

  3. 一文讲清楚FusionInsight MRS CDL如何使用

    摘要:CDL是一种简单.高效的数据实时集成服务,能够从各种OLTP数据库中抓取Data Change事件,然后推送至Kafka中,最后由Sink Connector消费Topic中的数据并导入到大数据 ...

  4. 23年校招Java开发同花顺、滴滴等面经

    前言 已经工作近半年时间了,最近突然翻到这份面经,于是想整理一下一些面试的经验,大中小公司都有 青书一面 50min 数据库.java基础. Cas机制. Tcp/udp区别 堆排序介绍,答错了,弄成 ...

  5. 用Python自动清理系统垃圾,再也不用360安全卫士了

    用Python自动清理系统垃圾,再也不用360安全卫士了 在Windows在安装和使用过程中都会产生相当多的垃圾文件,包括临时文件(如:.tmp.._mp)日志文件(.log).临时帮助文件(.gid ...

  6. 详解 SSL(三):SSL 证书该如何选择?

    在上一篇< 详解 SSL(二):SSL 证书对网站的好处>中,我们知道了在网站部署 SSL 证书后,不管是对网站本身还是对网站的用户都能够带来许多好处.那么随着 HTTPS 的普及,市面上 ...

  7. 【题解】Qin Shi Huang's National Road System HDU - 4081 ⭐⭐⭐⭐ 【次小生成树】

    During the Warring States Period of ancient China(476 BC to 221 BC), there were seven kingdoms in Ch ...

  8. 高级数据结构---B树和B+树及mysql索引分析

    mysql索引数据结构:https://www.cnblogs.com/nijunyang/p/11406688.html 几种树结构的对比: 二叉查找树:二叉搜索树,二叉排序树,优点查找快,但是在某 ...

  9. 【驱动】ifconfig up后内核网络驱动做了什么.md

    背景 最近在排查一个网络问题,ifconfig eth0 up 后,网卡link up比较慢.因此,分析了下从ifconfig up 到网络驱动的调用流程.这里顺便作个记录. ifconfig eth ...

  10. keepalived如何手动切换主备

    概述 主备部署中使用keepalived可以很方便的实现,安装维护简单,功能稳定. 最近在使用过程中有小的发现,记录一下. 环境 CentOS Linux release 7.9.2009 (Core ...