java线上排查利器arthas

立创EDA开源足轮机器人:基于STM32F407与ESP32的LQR自平衡与FOC驱动设计全解析 本文详细解析了基于立创EDA平台的开源足轮机器人项目。该项目采用STM32F407作为主控,ESP32负责无线通信,并应用LQR自平衡算法与FOC驱动技术,实现了机器人的稳定站立、移动转向及复杂地形适应能力。文章深入剖析了其硬件架构、软件设计及调试经验,为机器人运动控制学习提供了宝贵参考。 阅读详情

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

  1. 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?

  2. 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?

  3. 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?

  4. 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!

  5. 是否有一个全局视角来查看系统的运行状况?

  6. 有什么办法可以监控到JVM的实时运行状态?

Arthas是Alibaba开源的java在线诊断工具,采用命令行交互模式,可以方便的在线诊断排查、热修改代码,侵入小,提供了丰富的功能,是排查jvm相关问题的利器。

Arthas官方文档

下载启动

       下载arthas-boot.jar并拷贝到服务器上,在cmd命令行窗口运行java -jar arthas-boot.jar来启动即可,非常的方便。
       启动过程中要注意:需要先配置jre的环境变量才能使用java命令(或者直接进到jre的bin目录下启动);一般来说arthas会自动检测到当前正在运行的java进程让你选择进行attach,但是有些情况下会出现让你输入pid的现象,这时只需打开任务管理器找到要查看的tomcat进程的pid(可以右键打开文件所在的位置来更加准确的判断哪个是需要分析的tomcat进程)。还有些服务器环境是没有外网权限的,启动过程就会出现下载相应jar失败的问题,有两种解决办法,一是在有外网权限的机器上(如开发者自己的机器)在C:\Users\Administrator.arthas将lib包拷贝到服务器同样的目录下,或者下载全量的arthas-packaging,里面已经包含启动arthas所需的jar包。

       输入中括号里里面的数字选择你想要attach的java进程,后面的1716、8656等是java进程的PID,最后打印下面这样的信息说明启动成功。
在这里插入图片描述

  • 浏览器下使用Arthas
           Arthas目前支持Web Console,用户在attach成功之后,可以直接访问:http://127.0.0.1:8563/,也可以连接其他服务器上的arthas(注意防火墙)。

  • 退出Arthas

           如果只是退出当前的连接,可以用quit或者exit命令。Attach到目标进程上的arthas还会继续运行,端口会保持开放,下次连接时可以直接连接上。如果想完全退出arthas,可以执行shutdown命令。
           如果出现以下问题,说明已经attach到另外一个java进程,进入已经连接的进程后执行shutdown退出即可(exit命令只是退出,arthas还在后台运行)。
    在这里插入图片描述

常用命令

arthas支持的命令十分丰富,具体可以查阅官方文档,下面是我经常用到的命令。

dashboard

输入dashboard,会展示当前进程的信息和JVM的内存使用情况,按ctrl+c可以中断执行。
在排查JVM内存使用和如CPU占用过高这类的问题时很有帮助。
在这里插入图片描述

thread

可以查询展示当前最忙的前N个线程并打印堆栈:
在这里插入图片描述

watch

这个是我认为最强大的一个功能,对于排查问题非常的有帮助。
watch能方便的观察到指定方法的调用情况,可以查看入参的值、类的静态变量信息和方法返回值等等,对于定位问题非常方便。
在这里插入图片描述
如图,可以查看addOrUpdateWorker方法的入参worker的值。- x 2代表打印结果的遍历深度,默认是1.

Unity热更实战:用YooAsset+HybridCLR实现小游戏资源与代码双更新(含避坑清单) 本文详细介绍了Unity小游戏开发中如何通过YooAsset与HybridCLR实现资源与代码双热更新方案。内容涵盖环境配置、架构设计、微信小游戏专项优化、热更代码工程化实践及真机调试技巧,帮助开发者解决审核周期长、紧急修复等痛点,提升更新效率与稳定性。 阅读详情

相关推荐

Anroid8.1 强制修改系统可以adb remount

在Android6.0 (Android M)user版本上,发现使用adb root后再adb remount系统之后会提示这样信息:remount of /system failed: Read-only file system,这是不能对system分区进行操作,提示没有写权限,为只读文件系统Read-only file system,因为系统本身在user就不支持可写操作,我们就不能adb push来调试apk,如果想调试apk就需要修改system、vendor权限问题。 如下现象: C:\Use

wq892373445的博客 1407

听说你没法在 JRE 中使用 arthas?不,你可以

本文是《容器中的 Java》系列文章之 5/n ,欢迎关注后续连载 :) 。

阿里巴巴云原生的博客 1029

LT9211 单路mipi转双路mipi芯片,方案成熟,提供技术支持

LT9211 单路mipi转双路mipi芯片

TEL15012949045的博客 5012

Java诊断工具Arthas详解

一篇文章轻松掌握Java 诊断工具 Arthas

cV展示的学习园 1178

BMS | 从一串到几百串硬件架构简介

锂电池在生活中越来越多的方面扮演能源的角色,除了大家熟知的电动汽车行业,在一些消费类,工业类电子产品比如手机,电动自行车,电动工具中都有应用,追本溯源今天我们一起来学习下最基础的BMS架构。 1~4串架构 以S8241为代表的无通信/无固件/模拟器件 可实现过充保护、过放保护、过流/短路,参数由器件后缀代码决定;通信类手持设备供电系统;1~4节电池保护板架构 如图使用S-8241系列保护IC,一对充放电MOS管控制充放电的回路的切断和接通,系统供电来自于电芯电压,VM引脚用于检测过...

ningvay的博客 9916

SAP MM采购合同创建全解析:ME31K操作与后台逻辑

在SAP ERP的物料管理模块中,采购合同作为框架协议的核心,定义了企业与供应商之间的长期供货关系。它与采购订单不同,合同不直接产生收货或发票,而是为后续采购订单提供数据源。创建合同(事务码ME31K)时,需要区分数量合同与金额合同,并维护抬头、行项目、有效期、价格条件和税码等关键信息。SAP通过源确定机制在创建采购订单时自动匹配合同,同时审批策略、编码范围和输出类型也会影响合同的实际可用性。掌握合同创建逻辑,能有效解决采购订单无法带出合同、审批未触发、价格缺失等高频问题。从ME31K实操出发,系统梳理采购

weixin_30000735的博客 195

Arthas的简单使用

Arthas 是一个开源的 Java 诊断工具,旨在帮助开发者和运维人员更轻松地定位和解决 Java 应用程序的性能问题。则更注重于追踪方法的调用链,帮助理解代码执行流程。在实际使用中,可以根据具体需求选择合适的命令。命令输出的信息可能较为详细,对于频繁调用的方法,可能会导致输出信息过多。对于一个最基本的使用来说,就是记录下当前方法的每次调用环境现场。主要用于监控方法的执行情况,关注方法的入口、执行时间等;线上有一个接口很慢,用trace跟踪。thread -b 死锁线程。看线上的代码与线下有什么不同。

AjwlForever虞启贤的微博 585

硬件设计--DC/DC电源芯片详解

本文参考:http://www.elecfans.com/article/83/116/2018/20180207631874.html https://blog.youkuaiyun.com/wangdapao12138/article/details/79763343 第一次写博客,不喜勿喷,谢谢!!! DC/DC电源指直流转换为直流的电源,从这个定义上看,LDO(低压差线性稳压器)芯片也应该属于D...

weixin_30794499的博客 7871

记一次由Arthas引起的Metaspace OOM问题

如无特殊说明,本文默认基于以下环境叙述:JDK: OpenJDK 14GAmacOS 10.15Arthas 3.3.9VisualVM 2.0.2从Arthas 3.4.2开始,此问题...

闲鱼技术的博客 7970

六轴机械臂正逆解计算

机械臂运动学就是。包括(Forward Kinematics)和(InverseKinematics)两部分。正运动学就是逆运动学则是关节变量->机械臂末端执行器的姿势=正向运动学机械臂未端执行器的位姿->关节变量=逆向运动学。

gaoxiaochan的博客 1万+

高通GAIA V3命令参考手册的研读学习(15):自定制命令的详细工作描述

里的示例一样,手机APP发出这个GetManuFacturer的命令发0x0000,那么耳机回复:0x8000, 同时在回复的playload部分,用最多15个字节的ACSII码来表达制造商信息(因此最多15个字母)。那么这个APP在通过GAIA协议控制这个耳机时,不仅可以通过前面讲过的vendor ID来识别,也可以更进一步通过这个命令来识别这个耳机,到底是不是本公司的。通过这个可变长度的playload,真的是可以传达极多的事先约定的信息,相当的灵活,真是不错!这个命令用来得到设备的制造商信息。

qq_37191547的博客 397

JVM实战:Metaspace内存溢出排查与总结

一. 现象 前段时间公司线上环境的一个Java应用因为OOM的异常报警,导致整个服务不可用被拉出集群,本地模拟重现的现象如下: 当时的解决方案是增加metaspace的容量:-XX:MaxMetaspaceSize=500m,从原来默认的256m改为500m,虽然没有再出现oom,但这个只是临时解决方案,通过公司的监控系统观察metaspace的使用情况还是在上升,而且后面随着业务访问量越来越大还是有可能达到阈值。 二. 分析 Metaspace元空间主要是存储类的元数据信息,我..

weixin_50205273的博客 3822

电子元器件-三极管终终篇:三极管工作原理详解、参数/手册详解、开关应用详解、Ib电流研究、开关应用实例

三极管工作原理与应用摘要 三极管是一种电流控制器件,通过小基极电流控制大集电极电流。其内部结构由高掺杂发射区、薄低掺杂基区和中等掺杂集电区组成,形成NPN或PNP结。三极管有三种工作状态: 截止区:发射结和集电结均反偏,无放大作用 放大区:发射结正偏,集电结反偏,Ic=βIb 饱和区:两结均正偏,Ic不再随Ib增大 作为开关使用时,需确保三极管深度饱和(Vce≈0.2V)。设计要点包括: 基极电阻计算确保Ib足够大 集电极电阻控制Ic 基极加下拉电阻提高抗干扰 NPN管作地开关,PNP管作电源开关 典型应用

qq_60226558的博客 310

【JAVA】线上问题排查利器-Arthas

Arthas 是Alibaba开源的Java诊断工具,动态跟踪Java代码;实时监控JVM状态,可以在不中断程序执行的情况下轻松完成JVM相关问题排查工作。支持JDK 6+,支持Linux/Mac/Windows。这个工具真的很好用,而且入门超简单,十分推荐。...

会飞的架狗师的博客 625

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

JAVA线上排查问题的利器--Arthas

Java诊断工具Arthas 1. Arthas简介 Arthas是阿里开源的一个线上java诊断工具,发现阿里还是挺喜欢开源一些技术的,造福人类。昨天试用了一下,发现真是强大,解决了我工作两年的很多困扰,有点相见恨晚的感觉。 根据官网的说明,它能解决下面的问题: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是...

oneStep->next=CloserNow 671

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Arthas工具:Java线上问题排查高效利器,助你快速定位JVM故障

先说说它最实用的几个功能,都是咱们开发中常遇到的场景。它的用法也特别简单,不用装复杂的环境,只要把 arthas-boot.jar 下载到服务器,执行 “java -jar arthas-boot.jar”,然后选择要附着的 Java 进程(输入进程号就行),就能进入交互界面。哪怕你对 Linux 命令不熟,也能通过 “help” 命令看每个功能的用法,比如想查某个类的加载情况,输入 “help sc” 就能看到 “sc” 命令的参数说明,小索奇第一次用的时候,跟着 help 提示操作,十分钟就上手了。

思索的涟漪,突破自我 398

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

arthas 排查内存溢出_Arthas - Java 线上问题定位处理的终极利器

前言在使用 Arthas 之前,当遇到 Java 线上问题时,如 CPU 飙升、负载突高、内存溢出等问题,你需要查命令,查网络,然后 jps、jstack、jmap、jhat、jstat、hprof 等一通操作。最终焦头烂额,还不一定能查出问题所在。而现在,大多数的常见问题你都可以使用 Arthas 轻松定位,迅速解决,及时止损,准时下班。1、Arthas 介绍Arthas 是 Alibaba 在...

weixin_33895652的博客 2557

Arthas 实战指南:Java 应用线上诊断与问题排查利器

本文学习了阿里巴巴开源的 Java 诊断工具 Arthas,从安装部署到核心命令实战,涵盖线程分析、方法监控、源码反编译、耗时追踪等高频使用场景。

小镇cxy 506

Arthas实战:Java线上问题排查利器,无需重启即可诊断JVM

在Java后端开发中,线上问题排查一直是高投入低产出的典型场景。传统方式依赖日志、重启和本地复现,但面对偶发性故障或并发环境下的隐藏异常,往往束手无策。Arthas作为一款开源的Java诊断工具,基于JVM的attach机制和字节码增强技术,能够在不修改代码、不重启服务的情况下,动态查看类加载、方法调用、线程状态、JVM指标等实时信息,并支持反编译与在线热更新。它大幅缩短了从发现到定位问题的时间,尤其适用于处理线上偶发超时、CPU飙升、接口慢调用等疑难杂症。通过对高频命令如watch、trace、threa

weixin_28836507的博客 294

Arthas实战:Java线上问题排查与性能诊断利器

Java应用上线后,CPU飙升、接口变慢、内存异常等问题频发,传统jstack、jmap等静态快照工具难以定位运行时动态行为,而改代码加日志发版的方式成本高且无法应对偶发故障。Arthas作为一款基于字节码增强的Java诊断工具,能在不重启服务、不修改代码的前提下,实时查看类加载、方法调用、入参与返回值等运行时信息。它内置dashboard、thread、watch、jad、trace等命令,支持条件过滤与批处理脚本,可快速定位线程阻塞、慢调用、类冲突等线上疑难杂症。适用于微服务单点问题排查、性能瓶颈分析、

weixin_28676289的博客 67

Arthas实战:Java线上问题诊断与JVM排查利器

在Java服务运维中,JVM异常、接口超时、线程阻塞等问题往往隐蔽难查,传统日志与快照式工具难以实时洞察运行态。Arthas作为阿里巴巴开源的生产环境诊断工具,通过attach机制动态挂载到目标JVM,无需重启应用即可实现方法级观测、入参返回值追踪、反编译和热更新。它提供dashboard、watch、trace、jad、redefine等核心命令,从全局监控到精准定位层层递进,帮助开发者快速锁定性能瓶颈、代码不一致和内存泄漏等线上疑难杂症。本文从安装启动到高频命令实战,结合超时排查、代码反编译验证、堆内存

weixin_42527654的博客 254

Arthas:Java线上故障排查利器与实战技巧

Java虚拟机(JVM)诊断工具是保障线上服务稳定性的关键组件,其核心原理基于Java Instrumentation API实现动态字节码增强。通过动态加载代理的技术方案,开发者可以在不重启服务的情况下实现运行时监控和热修复,这对高可用架构具有重要工程价值。Arthas作为阿里巴巴开源的诊断工具,集成了线程分析、内存监控、调用链追踪等核心功能,特别适用于CPU飙高、内存泄漏、接口超时等典型线上故障场景。该工具通过字节码操作框架(如ASM)实现低侵入式监控,性能损耗控制在1%以内,支持火焰图生成、Sprin

weixin_28835583的博客 65

Java线上排查利器Arthas实战:从CPU飙高到接口超时

Java应用在生产环境出现CPU飙高、接口超时等故障时,传统日志与重启往往无济于事。Arthas作为阿里巴巴开源的Java诊断工具,基于字节码增强与Attach机制,无需重启应用即可附着JVM,实时查看方法参数、返回值和异常,定位线程热点与调用链耗时。它能显著提升线上问题排查效率,适用于微服务、Spring Boot等场景。本文围绕dashboard、thread、jad、watch、trace等高频命令展开实战讲解,帮助读者快速掌握这套排查方法论。

weixin_28829479的博客 274

Java线上诊断利器Arthas:从CPU飙高到内存泄漏的实战排查指南

在Java应用运维中,线上问题排查是开发者面临的常见挑战。传统方法如查看日志、远程调试或重启服务,往往效率低下且可能丢失关键现场。Java Agent技术提供了一种无侵入的动态字节码增强方案,允许在不重启应用的情况下进行深度诊断,其技术价值在于实现实时、低开销的运行时洞察。这一原理在性能监控、问题定位和热更新等应用场景中至关重要。本文聚焦的Arthas正是基于此原理构建的线上诊断工具,它集成了**字节码增强**和**JVM诊断**能力,通过丰富的命令集,使开发者能够快速应对CPU利用率飙升、接口偶发超时、内

weixin_35754962的博客 380

Arthas:Java应用性能诊断与线上问题排查利器

Java应用性能诊断是开发运维中的重要环节,传统日志和监控工具往往难以定位深层次问题。通过动态字节码增强技术,Arthas实现了运行时方法级监控,无需重启即可获取线程堆栈、方法调用链和内存状态等关键数据。作为阿里巴巴开源的Java诊断工具,其watch/trace/stack命令组合能精准定位性能瓶颈,ognl表达式和热修复功能则大幅提升线上问题处理效率。特别适用于微服务架构下的生产环境问题排查,如MyBatis SQL监控、内存泄漏分析和CPU飙高诊断等典型场景,是Java开发者必备的运维利器。

weixin_42557803的博客 221

阿里神器Arthas实战指南:在线诊断、性能调优、动态改代码,一篇搞定!

Arthas凭借其动态性和实时性,成为Java开发者排查线上问题的“瑞士军刀”。无论是监控方法参数、定位性能瓶颈,还是反编译代码、热修复Bug,都能大幅提升运维效率。扩展学习Arthas官方文档IDEA插件推荐:Arthas Idea(一键生成监控命令)互动话题:你在使用Arthas时遇到过哪些有趣的问题?欢迎评论区交流!💬。

qq_29083975的博客 4060
上一篇: volatile关键字——保证并发编程中的可见性、有序性
下一篇: 帮你梳理springboot所有常用注解
余生之君
博客等级 码龄10年 246粉丝 98原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值