目录

  • 使用

    • 一、安装与启动
    • 命令行控制台使用

使用

这款工具可以监控线上、测试或者其他环境的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 (阿尔萨斯)工具的使用相关推荐

  1. 阿里arthas(阿尔萨斯)的linux安装和使用

    快速安装arthas curl -O https://alibaba.github.io/arthas/arthas-boot.jar 启动并监控一个java进程,在此之前先启动一个java程序,使用 ...

  2. 如何使用监控诊断工具Arthas(阿尔萨斯)

    Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load.内存.gc.线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参.异常,监测方法执行耗时 ...

  3. 阿里Java诊断工具 arthas - 生产环境反编译动态修改程序调试应用

    阿里Java诊断工具 arthas - 生产环境反编译动态修改程序调试应用 一.arthas 上篇文章我们借助arthas监测线上系统的运行信息.排查程序运行缓慢问题,尽管这样已经非常好了,但是还是会 ...

  4. 不重启JVM动态添加日志(阿里Arthas)

    一.背景 如果生产环境临时出现故障,但是现运行代码未打印定位问题所需要的日志,我们通常的做法是添加日志->重新发布->重现故障.但是这样麻烦不说,最重要的是重启节点会丢失现场,也不一定能重 ...

  5. 阿里巴巴arthas诊断工具使用介绍

    阿里推出的arthas诊断工具,是专门针对Java程序出现内存泄漏,CPU使用过高,线上问题运行错误进行诊断的工具.它的运行很简单,只需要下载一个arthas-boot.jar的工具包,然后通过jav ...

  6. java诊断神器 arthas(阿尔萨斯)

    java诊断神器 arthas(阿尔萨斯) 官网地址:https://arthas.aliyun.com/doc/en/index.html 1.快速开始 1.1.windows版本安装 # 命令行输 ...

  7. 阿里云产品分析(5):阿里云大数据处理工具DPC可用性分析与案例

    阿里云大数据处理工具DPC可用性分析与案例 采云间(Data Process Center,简称DPC)是基于开放数据处理服务(ODPS)的DW/BI的工具解决方案.DPC提供全链路的易于上手的数据处 ...

  8. 阿里重磅开源在线分析诊断工具Arthas(阿尔萨斯)

    github地址: Arthas English version goes here. Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱. 当你遇到以下类似问题而束手无策时,Art ...

  9. 阿里Arthas(阿尔萨斯)线上诊断工具

    Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱. 官方文档:https://alibaba.github.io/arthas/index.html 当你遇到以下类似问题而束手无策 ...

最新文章

  1. redis 安装启动及设置密码windows
  2. python -- numpy 基本数据类型,算术运算,组合,分割 函数
  3. 在Foreda8上安装libaio-0.3.105-2.i386.rpm
  4. JVM新生代老年代GC分析
  5. professor xi‘s story
  6. 汇编语言--微机CPU的指令系统(五)(字符串操作指令)
  7. 用lua扩展你的Nginx(写的非常好)
  8. 2013 Multi-University Training Contest 4
  9. 在Python中模拟do-while循环?
  10. Win1909+vs2019+Windows 10 WDK 2004(10.0.19041.1) + Windows 10 SDK 2004(10.0.19041.1)环境搭建
  11. java font 字体大小_java的字体的颜色,型号,大小的方法
  12. 苹果手机与苹果tv连接服务器无响应,屏幕镜像正在查找Apple Tv,隔空播放无法连接?...
  13. 国内手机市场寒风持续,华为与OV竞争将更激烈
  14. 腾讯云Ubuntu18.04配置OpenPCDet深度学习环境
  15. 柱坐标下多重网格法解泊松方程-python
  16. 全面认识思科系列交换机型号
  17. 员工调职其他部门 公司百科帮大忙
  18. windows server 2008R2安装visual studio2015
  19. Jquery选择器之可见性选择器、属性过滤选择器
  20. visio画图-----如何克服两箭头交叉变形 及 箭头自动重绘?

热门文章

  1. 利用PuTTY配置端口映射,实现外网对服务器的访问
  2. 深圳云计算培训学习:如何评价我国云计算的发展现状?--【千锋】
  3. Linux下最常用的10个文件压缩工具
  4. jsp运行linux脚本,jsp页面调用哪个Linux的shell 脚本步骤
  5. 稳压二极管和普通二极管的区别
  6. php组件化开发composer,composer组件化开发,个人总结
  7. 经典语录-每日积累-03
  8. 省市县三级联动 javascript 原生实现实例
  9. 推荐一个 SpringBoot 2.x + vue 实现的个人支付宝、微信支付系统
  10. 古人秃了怎么办:一旦脱发,五大对策!