阿里 Arthas (阿尔萨斯)工具的使用
目录
- 使用
- 一、安装与启动
- 命令行控制台使用
使用
这款工具可以监控线上、测试或者其他环境的java运行中程序的情况,用于定位线上、测试等环境的问题。
一、安装与启动
通过termius远程登录测试或者线上环境,cd到指定目录下,输入命令:
curl -O https://arthas.aliyun.com/arthas-boot.jar
我这里在spring的home目录下载的,即:/home/spring
即可下载,下载的位置是隐藏目录,在当前文件夹下ll -a 查看:
具体的执行文件目录为:
/home/spring/.arthas/lib/3.6.0/arthas
目录文件如下:
执行图中标记的jar即可启动,命令如下(需要在当前目录下执行):
java -jar arthas-boot.jar
①通过命令启动arthas
②列出了所有正在运行的java程序
③输入需要,敲回车,监控指定的java程序
④监控该java程序的arthas 监听端口号,因为启动时没有指定端口号,所以默认是3658
⑤arthas版本号
⑥监控的java程序pid
⑦进入arthas 命令行控制台
两种退出方式:
第一种
在命令行控制台中执行:exit或者quit,退出arthas,但是不会释放session,即对于当前程序的监听端口(这里默认是3658)不会释放,下次可以继续进入;下次进入方式如下:
①通过exit退出
②通过lsof -i:3658 命令查看3658端口是否被占用
从输出看出,被pid为25985进程占用了,也就是上一次监控的java进程
③通过java -jar arthas-boot.jar再次进入,因为没有指定监听的端口号,所以跟上一次共用的同一个session,也就是监听的25985的进程
④提示该监听端口已经监听了25985的进程,所以就只能进入25985的进程,对应的是序号1,如下图:
这也就是用的上一次通过exit退出的session;
如果我们这里进入其他程序会报错如下:
就提示我们3658以及监听了25985进程,有三种解决办法:
第一种:进入25985进程,stop进行退出(也就是下面要说的第二种退出方式),在重新进入其他进程;
第二种:尝试执行java -jar arthas-client.jar 127.0.0.1 3658 -c "stop" 停止已经存在的监听实例;
第三种:使用不同的监听端口启动arthas实例,执行:java -jar arthas-boot.jar --telnet-port 9998 --http-port -1
这里是指定监听端口9998
arthas.telnet-port: -1:则不监听telnet端口。0:随机端口。
arthas.http-port: -1: 不监听http端口。0:随机端口。
第一种方式很简单,这里就不演示了;
第二种如下:
①查看3658端口占用情况,显示被占用了;(注意千万不要杀掉占用的程序,因为这显示的占用程序pid是运行的java进程,并不是真正占用3658的监听端口程序)
②执行java -jar arthas-client.jar 127.0.0.1 3658 -c "stop" 杀掉占用3658的arthas实例
③再次查看3658端口占用情况,发现未被占用了;就可以采用默认端口重新进入监听别的程序了;
第三种方法:这种方法就是我杀掉其他的arthas实例,启动一个别的端口的arthas实例,用来监听另一个程序
①指定端口9998启动arthas实例
②监听序号2的程序,监听端口是启动时指定的端口9998,不再是默认端口:3658了
结论:arthas 可以通过启动时指定不同的端口来监听不同的java程序,每次如果采用exit或者quit退出,都会保留实例,下次可以通过指定上次相同的端口,进入同一个实例,但是进入同一个实例,只能再次监听同一个java程序,不能使用同一个实例两次监听不同的程序,会报错端口冲突,告诉你三种解决办法;
第二种
在命令行控制台执行stop,会彻底退出arthas当前实例,即会释放当前arthas实例占用的端口,但是不影响其他的arthas实例;
命令行控制台使用
参考官方文档:快速入门 | arthas
阿里 Arthas (阿尔萨斯)工具的使用相关推荐
- 阿里arthas(阿尔萨斯)的linux安装和使用
快速安装arthas curl -O https://alibaba.github.io/arthas/arthas-boot.jar 启动并监控一个java进程,在此之前先启动一个java程序,使用 ...
- 如何使用监控诊断工具Arthas(阿尔萨斯)
Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load.内存.gc.线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参.异常,监测方法执行耗时 ...
- 阿里Java诊断工具 arthas - 生产环境反编译动态修改程序调试应用
阿里Java诊断工具 arthas - 生产环境反编译动态修改程序调试应用 一.arthas 上篇文章我们借助arthas监测线上系统的运行信息.排查程序运行缓慢问题,尽管这样已经非常好了,但是还是会 ...
- 不重启JVM动态添加日志(阿里Arthas)
一.背景 如果生产环境临时出现故障,但是现运行代码未打印定位问题所需要的日志,我们通常的做法是添加日志->重新发布->重现故障.但是这样麻烦不说,最重要的是重启节点会丢失现场,也不一定能重 ...
- 阿里巴巴arthas诊断工具使用介绍
阿里推出的arthas诊断工具,是专门针对Java程序出现内存泄漏,CPU使用过高,线上问题运行错误进行诊断的工具.它的运行很简单,只需要下载一个arthas-boot.jar的工具包,然后通过jav ...
- java诊断神器 arthas(阿尔萨斯)
java诊断神器 arthas(阿尔萨斯) 官网地址:https://arthas.aliyun.com/doc/en/index.html 1.快速开始 1.1.windows版本安装 # 命令行输 ...
- 阿里云产品分析(5):阿里云大数据处理工具DPC可用性分析与案例
阿里云大数据处理工具DPC可用性分析与案例 采云间(Data Process Center,简称DPC)是基于开放数据处理服务(ODPS)的DW/BI的工具解决方案.DPC提供全链路的易于上手的数据处 ...
- 阿里重磅开源在线分析诊断工具Arthas(阿尔萨斯)
github地址: Arthas English version goes here. Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱. 当你遇到以下类似问题而束手无策时,Art ...
- 阿里Arthas(阿尔萨斯)线上诊断工具
Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱. 官方文档:https://alibaba.github.io/arthas/index.html 当你遇到以下类似问题而束手无策 ...
最新文章
- redis 安装启动及设置密码windows
- python -- numpy 基本数据类型,算术运算,组合,分割 函数
- 在Foreda8上安装libaio-0.3.105-2.i386.rpm
- JVM新生代老年代GC分析
- professor xi‘s story
- 汇编语言--微机CPU的指令系统(五)(字符串操作指令)
- 用lua扩展你的Nginx(写的非常好)
- 2013 Multi-University Training Contest 4
- 在Python中模拟do-while循环?
- Win1909+vs2019+Windows 10 WDK 2004(10.0.19041.1) + Windows 10 SDK 2004(10.0.19041.1)环境搭建
- java font 字体大小_java的字体的颜色,型号,大小的方法
- 苹果手机与苹果tv连接服务器无响应,屏幕镜像正在查找Apple Tv,隔空播放无法连接?...
- 国内手机市场寒风持续,华为与OV竞争将更激烈
- 腾讯云Ubuntu18.04配置OpenPCDet深度学习环境
- 柱坐标下多重网格法解泊松方程-python
- 全面认识思科系列交换机型号
- 员工调职其他部门 公司百科帮大忙
- windows server 2008R2安装visual studio2015
- Jquery选择器之可见性选择器、属性过滤选择器
- visio画图-----如何克服两箭头交叉变形 及 箭头自动重绘?
热门文章
- 利用PuTTY配置端口映射,实现外网对服务器的访问
- 深圳云计算培训学习:如何评价我国云计算的发展现状?--【千锋】
- Linux下最常用的10个文件压缩工具
- jsp运行linux脚本,jsp页面调用哪个Linux的shell 脚本步骤
- 稳压二极管和普通二极管的区别
- php组件化开发composer,composer组件化开发,个人总结
- 经典语录-每日积累-03
- 省市县三级联动 javascript 原生实现实例
- 推荐一个 SpringBoot 2.x + vue 实现的个人支付宝、微信支付系统
- 古人秃了怎么办:一旦脱发,五大对策!