Arthas (阿尔萨斯)arthas-boot 方式安装及使用教程

news2024/11/17 5:40:39

目录

  • 一、软件介绍
  • 二、下载教程
  • 三、安装教程
  • 四、使用教程

一、软件介绍

Arthas 地址:https://github.com/alibaba/arthas

官方文档:https://alibaba.github.io/arthas

Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。

当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:

这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没commit?分支搞错了? 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?

线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! 是否有一个全局视角来查看系统的运行状况?

有什么办法可以监控到JVM的实时运行状态? 怎么快速定位应用的热点,生成火焰图? 怎样直接从JVM内查找某个类的实例?

Arthas支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 Tab自动补全功能,进一步方便进行问题的定位和诊断。

在这里插入图片描述

二、下载教程

下载arthas-boot.jar

curl -O https://arthas.aliyun.com/arthas-boot.jar

在这里插入图片描述

三、安装教程

用java -jar的方式启动

java -jar arthas-boot.jar

前提是你需要启动java项目,否者将会出现找不到java进程pid的情况

Can not find java process. Try to run `jps` command lists the instrumented Java HotSpot VMs on the target system.
Please select an available pid.

在这里插入图片描述

下面是正常情况启动,输入你想监控的进程序号,例如1,点击enter,启动成功,这是一个ruoyi的项目进程

在这里插入图片描述

四、使用教程

Arthas 目前支持 Web Console,用户在 attach 成功之后,可以直接访问:http://127.0.0.1:8563/。还可以填入 IP,远程连接其它机器上的 arthas。

在这里插入图片描述

dashboard - 当前系统的实时数据面板
getstatic - 查看类的静态属性
heapdump - dump java heap, 类似 jmap 命令的 heap dump 功能
jvm - 查看当前 JVM 的信息
logger - 查看和修改 logger
mbean - 查看 Mbean 的信息
memory - 查看 JVM 的内存信息
ognl - 执行 ognl 表达式
perfcounter - 查看当前 JVM 的 Perf Counter 信息
sysenv - 查看 JVM 的环境变量
sysprop - 查看和修改 JVM 的系统属性
thread - 查看当前 JVM 的线程堆栈信息
vmoption - 查看和修改 JVM 里诊断相关的 option
vmtool - 从 jvm 里查询对象,执行 forceGc


dashboard - 当前系统的实时数据面板

在这里插入图片描述

thread查看进程

在这里插入图片描述

通过jad来反编译Class
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/711743.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ProGuard 进阶系列(四)访问者模式

在进行后面的内容分析之前,不得不讲到访问者模式,这是 GOF 23 个设计模式中最难的几个模式之一。如果能够很好的理解访问者模式, 后续源码解读会相对容易一些。本文将结合 ProGuard 的部分源码,理解分析访问者模式的用途及使用场景…

单相逆变原理验证仿真

为了用全桥控制一个电感中的电流跟踪指令电流,simulink图如下图1: 图1 前向通道传递函数,闭环伯德图如下: s tf(s); %LC及并联电阻R的值 L1*10^-3; R10; %调制限号到占空比的传递函数,dVcont/Vramp -> d/Vcont 1/Vramp1Kcd …

JavaWeb 笔记——1

JavaWeb 笔记-1 初始JavaWeb什么是JavaWeb 一、JDBC1.1、JDBC简介1.2、API详解-DriverManager1.3、API详解-Connection1.4、API详解-Statement1.5、API详解-ResultSet1.6、API详解-PreparedStatement1.6.1、API详解-PreparedStatement-SQL注入演示1.6.2、API详解-PreparedState…

NR PDCP(二) format/parameters

这篇主要是PDCP PDU,PDCP Formats及其参数的含义, 收发过程中用到的变量,常量和定时器的总结,都是概念性描述。 PDU 和RLC 类似,PDCP PDU 也分为data pdu 和control PDU。PDCP data PDU 的data field对应的是user pla…

FPGA USB FX2 ov5640摄像头视频采集 驱动CY7C68013A实现 提供2套工程源码和技术支持

目录 1、前言2、我这儿已有的 FPGA USB 通信方案3、CY7C68013A芯片解读和硬件设计FX2 简介SlaveFIFO模式及其配置 4、工程详细设计方案5、vivado工程6、上板调试验证7、福利:工程代码的获取 1、前言 目前USB2.0的实现方案很多,但就简单好用的角度而言&a…

SpringBoot的缓存管理

缓存是分布式系统中的重要组件,主要解决数据库数据的高并发访问问题。在实际开发中,尤其是用户 访问量较大的网站,为了提高服务器访问性能、减少数据库的访问压力、提高用户体验,使用缓存显得 尤为重要。Spring Boot对缓存提供了良…

js将后台返回的数据转化为树形结构(扁平数组转树状结构)

前言 做项目使常遇到需要将后台返回的数据,转换为树状结构给用户展现,例如: 这也是前端面试常考的算法题,一起来检测一下吧。 步骤 准备一个空的树对象。遍历列表中的每个元素。对于每个元素,根据该元素的父级ID找到…

Linux常用命令——fdisk命令

在线Linux命令查询工具 fdisk 查看磁盘使用情况和磁盘分区 补充说明 fdisk命令用于观察硬盘实体使用情况,也可对硬盘分区。它采用传统的问答式界面,而非类似DOS fdisk的cfdisk互动式操作界面,因此在使用上较为不便,但功能却丝…

ERP重构-SLA子分类账-分布式实现方案

背景 ERP中的GL总账模块,明细数据来源于各个业务模块如库存、成本、应收、应付、费控、资产等,统称为子模块,生成的账叫做子分类账。然而记账的业务逻辑各式各样,但是最终输出都是来源、类型、期间、科目、借贷金额等等关键信息。…

Java-数据结构(二)-Map:HashMap、TreeMap、LinkedHashMap

目录 一、 引言二、问题2.1 什么是Map2.2 使用Map的好处2.3 Map的底层原理2.4 Key和Value的含义2.5 Key值为什么不能重复2.6 Key值和Hash的关系 三、 HashMap3.1 初始化HashMap3.2 添加和获取元素3.3 遍历HashMap3.4 删除元素3.5实现原理①HashMap的put()方法②HashMap的get()方…

【海量数据挖掘/数据分析】 之 贝叶斯分类算法(朴素贝叶斯分类、贝叶斯分类计算流程、拉普拉斯修正、贝叶斯分类实例计算)

【海量数据挖掘/数据分析】 之 贝叶斯分类算法(朴素贝叶斯分类、贝叶斯分类计算流程、拉普拉斯修正、贝叶斯分类实例计算) 目录 【海量数据挖掘/数据分析】 之 贝叶斯分类算法(朴素贝叶斯分类、贝叶斯分类计算流程、拉普拉斯修正、贝叶斯分类…

无java环境运行jar

1、编写简单java程序。 例: public static void main(String[] args) {if(args.length>0)System.out.println("Params is:"args[0]);System.out.println("Hello word ! I am demo,,,&#xff0c…

软考高级网规考试笔记(涉及表格用图片代替_9万字左右)

作者:BSXY_19计科_陈永跃_23年7月更 BSXY_信息学院_v:CwJp0403 注:未经允许禁止转发任何内容 笔记说明: 目前还只有笔记,其他资源将会在近期更新,(笔记5.5即可,不诚勿加可以去其他地方自找找看&…

Quartz任务调度笔记

一、概念 1.1简介 Quzrtz是OpenSymphony开源组织在Job scheduling领域的开源项目 特点:Quartz具有丰富特性的"任务调度库",能够集成于任何的Java应用,小到独立的应用,大到电子商业系统。quartz能够创建亦简单亦复杂的调…

DAY35:贪心算法(二)分发饼干+摆动序列

文章目录 455.分发饼干思路两个for循环嵌套的写法为什么这种写法必须要有visited数组debug测试逻辑问题:没有进行计数逻辑问题:找到了result3个孩子 一层for循环的写法为什么这种写法一定要把小孩数组放在外面 376.摆动序列(逻辑问题&#xf…

02_04实时调度类及SMP多核处理器的实时操作系统体系结构

上一篇文章说的是普通进程的调度但同时还有实时进程在linux上面进行运行 这边来看看实时进程在linux里面怎么调度 同时linux操作系统对实时任务的处理方式和设计思想 实时调度类 Linux进程分为两大类:实时进程和普通进程。 实时进程与普通进程根本不同之处,如果系…

ModuleNotFoundError: No module named ‘transformers_modules.chatglm2-6b‘解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

青少年机器人技术一级核心知识点:机械结构及模型(四)

随着科技的不断进步,机器人技术已经成为了一个重要的领域。在这个领域中,机械结构是机器人设计中至关重要的一部分,它决定了机器人的形态、运动方式和工作效率。对于青少年机器人爱好者来说,了解机械结构的基础知识,掌…

LabVIEW大模拟数据解决方案

LabVIEW大模拟数据解决方案 比亚迪汽车对于在动力总成标定和控制部门工作的400多名工程师来说,这种投资包括实现NI的新战略和解决方案,以更好地捕获和管理大量的原始测试数据,在车辆上市前做出更明智的决策。 因为能够更好地获取更优质的数…

Go语言开发者的Apache Arrow使用指南:内存管理

如果你看了上一篇《Go语言开发者的Apache Arrow使用指南:数据类型》[1]中的诸多Go操作arrow的代码示例,你很可能会被代码中大量使用的Retain和Release方法搞晕。不光大家有这样的感觉,我也有同样的feeling:**Go是GC语言[2]&#x…