首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Cheng's Blog

    Arthas---Java 线上问题定位程序

    Arthas 是一款命令行交互模式的 Java 诊断工具,由于是 Java 编写,所以可以直接下载相应 的 jar 包运行。 安装 这里使用国内的码云 Gitee下载 # Gitee 下载 wget https://arthas.gitee.io/arthas-boot.jar # 打印帮助信息 java -jar arthas-boot.jar -h 运行 Arthas 是一个 java 程序,所以直接用 java -jar 运行。 # 运行方式1,先运行,在选择 Java 进程 PID java -jar arthas-boot.jar # 选择进程(输入[]内编号回车) [INFO] arthas-boot version: 3.3.9 /home/web/neteasemusic-import/neteasemusic-0.0.1-SNAPSHOT.jar # 运行方式2,运行时选择 Java 进程 PID java -jar arthas-boot.jar

    63820编辑于 2022-02-25
  • 来自专栏苏三说技术

    线上问题定位神器:Arthas,已接入MCP

    前言 最近经常有知识星球中球友问我:三哥,线上问题要如何才能快速排查? CPU飙高、接口变慢、内存泄漏,每一次都是手忙脚乱,一边翻Arthas命令手册,一边对着控制台输出猜问题。 2026年,Arthas正式接入了MCP。 这意味着AI可以直接调用Arthas的所有诊断能力了。 以后排查线上问题,就变得更加简单了,只需要跟AI对话就行。 LogAspect.java:47) at com.example.order.service.OrderService.getOrder(OrderService.java:123) 第三步:AI分析堆栈,定位问题根源 如果是正则问题,还要去查代码 → 8. 定位到切面 → 9. 修改代码 → 10. 重新发布。 每一步都可能因为不熟悉命令而卡住。 监控系统无缝集成 缺点: 当前为实验性模块,功能仍在快速迭代中 需自行配置MCP客户端连接 复杂场景可能需要人工干预验证AI推断 适用场景: 日常线上故障快速排查 新人培训期辅助诊断 配合IDE进行代码级问题定位

    16210编辑于 2026-04-14
  • 来自专栏Kirito的技术分享

    JMH和Arthas定位问题的案例分享

    问题描述 为了能够让我后面的实例能够贯穿这两个工具的使用,我首先简单描述下我们在开发中遇到的实际的性能问题。然后再引出这两个性能工具的实际使用,看我们如何使用这两个工具成功定位到性能瓶颈的。 JMH简介 第一个问题就是,测试的方法是否标准。 我们首先通过jps找到程序的进程号,然后直接通过arthas给到的as.sh对我们运行的程序进行字节码增强,然后启动arthas,命令如下 . 我们用arthas监控一下,验证一下。 至此我们通过结合JMH和arthas共同定位出了一个线上的性能问题。不过我介绍的只是冰山一角,更多常用的命令还希望大家通过官网自己了解和实践,有了几次亲身实践之后,这个工具也就玩熟了。 - END -

    79630编辑于 2022-03-04
  • 来自专栏程序猿阿朗的专栏

    Arthas - Java 线上问题定位处理的终极利器

    前言 在使用 Arthas 之前,当遇到 Java 线上问题时,如 CPU 飙升、负载突高、内存溢出等问题,你需要查命令,查网络,然后 jps、jstack、jmap、jhat、jstat、hprof 最终焦头烂额,还不一定能查出问题所在。而现在,大多数的常见问题你都可以使用 Arthas 轻松定位,迅速解决,及时止损,准时下班。 支持 JDK6+, 采用命令行交互模式,提供 Tab 自动不全,可以方便的定位和诊断线上程序运行问题。截至本篇文章编写时,已经收获 Star 17000+。 首先编写一个有各种情况的测试类运行起来,再使用 Arthas 进行问题定位, import java.util.HashSet; import java.util.concurrent.ExecutorService 4.3 线程池线程状态 定位线程问题之前,先回顾一下线程的几种常见状态: RUNNABLE 运行中 TIMED_WAITIN 调用了以下方法的线程会进入TIMED_WAITING: Thread#sleep

    19K67发布于 2019-11-07
  • 来自专栏用户6296428的专栏

    利用 Arthas 精准定位 Java 应用 CPU 负载过高问题

    以前碰到类似问题,可能会考虑使用top -Hp 加 jstack命令去排查,虽然能大致定位问题范围,但有效信息还是太少了,多数时候还是要靠猜。 今天向大家推荐一款更高效更精准的工具:ArthasArthas 是Alibaba开源的Java诊断工具,能够帮助我们快速定位线上问题。 基本的安装使用可以参考官方文档:https://alibaba.github.io/arthas 这次我们利用它来排查CPU负载高的问题。 找到了问题,就成功了99%,解决这个问题的方法非常简单,就是对syncUserCache方法加一个synchronized关键字! 结语 这次遇到的问题并不复杂,用jstack命令也可以解决的了。 有任何问题欢迎在评论区留言或者联系我本人:zhangyunxiang@youzan.com

    1.2K20发布于 2020-08-24
  • 来自专栏AI技术体系搭建过程

    Arthas + MCP +AI 急速定位和解决产线问题实战

    整个团队8个人盯着屏幕,有人在SSH里手敲thread-n3,有人翻着Wiki查watch命令语法,有人在Kibana里拼DSL……那次从告警到定位,花了47分钟。 这不是技术问题,这是工具链的问题。二、企业软件系统的三大诊断痛点"知己知彼,百战不殆。"—孙子兵法老李复盘之后,把团队的诊断困境归结为三类:痛点一:工具壁垒。 两者定位不同:维度Arthas官方MCP社区jvm-mcp-server集成方式内嵌在ArthasHTTP端口独立Python进程+SSH工具覆盖26个官方工具常用子集连接方式本地/内网HTTP本地+远程 —史记老李画了一张图,把Arthas的26个工具按照"诊断场景"重新分类,而不是按官方的技术分类——因为实际用的时候,你脑子里想的是"我要解决什么问题":五、安装配置:三步上手,配合Claude/Cursor —陆游老李梳理了团队最高频的四类线上问题,对比了传统方式和AI方式的操作差异:场景一:CPU飙高,定位热点线程传统方式AI+MCP方式操作dashboard→thread-n5→逐条分析"帮我看看当前CPU

    22621编辑于 2026-04-12
  • 来自专栏小强的进阶之路

    阿里问题定位神器 Arthas 的骚操作,定位线上BUG,超给力!

    定位过程 分析代码 分析调用流程 Arthas分析问题 watch方法执行数据观测 为什么连续请求不会出现问题 为什么本地不会复现 如何解决 升级spring boot版本 ---- ? 下面记录下当时详细的定位&解决流程(其实解决很简单,关键在于怎么定位并找到解决问题的方法) 定位过程 分析代码 渠道系统是一个常见的spring-boot web工程,使用了集成的tomcat。 这下头疼了,本地无法复现,不能Debug,由于问题点不在业务代码,也不能通过加日志的方式来Debug 这时候可以祭出神器ArthasArthas分析问题 Arthas 是Alibaba开源的Java 打问题点找到了,那怎么定位是什么导致的问题呢,又如何解决呢? 继续trace吧,细化到具体的代码块或者内容。 ) 不着急定位问题,试着通过Arthas最终定位问题细节,继续手动深入trace [arthas@24851]$ trace org.apache.catalina.webresources.TomcatJarInputStream

    1.5K30发布于 2020-03-23
  • 来自专栏程序员泥瓦匠

    Arthas 定位 Spring Boot 接口的超时问题,让应用起飞~

    下面记录下当时详细的定位&解决流程(其实解决很简单,关键在于怎么定位并找到解决问题的方法) 定位过程 分析代码 渠道系统是一个常见的spring-boot web工程,使用了集成的tomcat。 光猜想定位不了问题,还是得实际测试一下,把渠道系统的代码放到本地ide里启动测试能否复现 但是导入本地Ide后,在Ide中启动后并不能复现问题,并没有70+ms的延迟问题。 这下头疼了,本地无法复现,不能Debug,由于问题点不在业务代码,也不能通过加日志的方式来Debug 这时候可以祭出神器ArthasArthas分析问题 Arthas 是Alibaba开源的Java 打问题点找到了,那怎么定位是什么导致的问题呢,又如何解决呢? 继续trace吧,细化到具体的代码块或者内容。 ) 不着急定位问题,试着通过Arthas最终定位问题细节,继续手动深入trace [arthas@24851]$ trace org.apache.catalina.webresources.TomcatJarInputStream

    1K40编辑于 2021-12-17
  • 来自专栏程序猿DD

    如何使用 Arthas 定位 Spring Boot 接口超时

    下面记录下当时详细的定位&解决流程(其实解决很简单,关键在于怎么定位并找到解决问题的方法) 定位过程 分析代码 渠道系统是一个常见的spring-boot web工程,使用了集成的tomcat。 光猜想定位不了问题,还是得实际测试一下,把渠道系统的代码放到本地ide里启动测试能否复现 但是导入本地Ide后,在Ide中启动后并不能复现问题,并没有70+ms的延迟问题。 这下头疼了,本地无法复现,不能Debug,由于问题点不在业务代码,也不能通过加日志的方式来Debug 这时候可以祭出神器ArthasArthas分析问题 Arthas 是Alibaba开源的Java 打问题点找到了,那怎么定位是什么导致的问题呢,又如何解决呢? 继续trace吧,细化到具体的代码块或者内容。 ) 不着急定位问题,试着通过Arthas最终定位问题细节,继续手动深入trace [arthas@24851]$ trace org.apache.catalina.webresources.TomcatJarInputStream

    1.6K40编辑于 2023-04-17
  • 来自专栏肉眼品世界

    如何使用 Arthas 定位 Spring Boot 接口超时 ?

    下面记录下当时详细的定位&解决流程(其实解决很简单,关键在于怎么定位并找到解决问题的方法) 定位过程 分析代码 渠道系统是一个常见的spring-boot web工程,使用了集成的tomcat。 光猜想定位不了问题,还是得实际测试一下,把渠道系统的代码放到本地ide里启动测试能否复现 但是导入本地Ide后,在Ide中启动后并不能复现问题,并没有70+ms的延迟问题。 这下头疼了,本地无法复现,不能Debug,由于问题点不在业务代码,也不能通过加日志的方式来Debug 这时候可以祭出神器ArthasArthas分析问题 Arthas 是Alibaba开源的Java 打问题点找到了,那怎么定位是什么导致的问题呢,又如何解决呢? 继续trace吧,细化到具体的代码块或者内容。 ) 不着急定位问题,试着通过Arthas最终定位问题细节,继续手动深入trace [arthas@24851]$ trace org.apache.catalina.webresources.TomcatJarInputStream

    1.8K30发布于 2021-07-13
  • 来自专栏Java进阶架构师

    如何使用 Arthas 定位 Spring Boot 接口超时 ?

    下面记录下当时详细的定位&解决流程(其实解决很简单,关键在于怎么定位并找到解决问题的方法) 定位过程 分析代码 渠道系统是一个常见的spring-boot web工程,使用了集成的tomcat。 光猜想定位不了问题,还是得实际测试一下,把渠道系统的代码放到本地ide里启动测试能否复现 但是导入本地Ide后,在Ide中启动后并不能复现问题,并没有70+ms的延迟问题。 这下头疼了,本地无法复现,不能Debug,由于问题点不在业务代码,也不能通过加日志的方式来Debug 这时候可以祭出神器ArthasArthas分析问题 Arthas 是Alibaba开源的Java 打问题点找到了,那怎么定位是什么导致的问题呢,又如何解决呢? 继续trace吧,细化到具体的代码块或者内容。 ) 不着急定位问题,试着通过Arthas最终定位问题细节,继续手动深入trace [arthas@24851]$ trace org.apache.catalina.webresources.TomcatJarInputStream

    2.5K20发布于 2021-07-08
  • 来自专栏古时的风筝

    线上问题排查神器 Arthas

    线上问题排查神器 Arthas 之前介绍过 BTrace,线上问题排查神器 BTrace 的使用,也说它是线上问题排查神器。都是神器,但今天这个也很厉害,是不是更厉害不好说,但是使用起来非常简单。 Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个 jar 包加载的? Arthas支持JDK 6+,支持Linux/Mac/Winodws,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题定位和诊断。 Arthas fengzheng$ java -jar arthas-boot.jar [INFO] arthas-boot version: 3.1.1 [INFO] Found existing 另外,无论是 Arthas 还是 BTrace ,都是用来排查单机服务问题的,也就是应用内部的代码、性能问题,如果要排查不同服务之间的调用问题,那就是另一个维度上的事儿了。就需要 APM 的帮助了。

    89130发布于 2019-09-29
  • 来自专栏Kirito的技术分享

    Arthas | 定位线上 Dubbo 线程池满异常

    一般在线上,有很多运行中的服务,这些服务都是共享一个 Dubbo 服务端线程池,可能因为某个服务的问题,导致整个应用被拖垮,所以需要排查是不是集中出现在某个服务上,再针对排查这个服务的业务逻辑;需要定位到线程堆栈 定位问题,我的习惯一般是使用 Arthas 的 dashboard 和 thread 命令,而在介绍这两个命令之前,我们先人为的构造一个 Dubbo 线程池满异常的例子。 例如数据库连接不上导致卡死,运行中的线程基本都应该处于 BLOCKED 或者 TIMED_WAITING 状态,我们可以借助 thread --state 定位到 繁忙类问题。 例如 CPU 密集型运算,运行中的线程基本都处于 RUNNABLE 状态,可以借助于 thread -n 来定位出最繁忙的线程 GC 类问题。 总结 本文以 Dubbo 线程池满异常作为引子,介绍了线程类问题该如何分析,以及如何通过 Arthas 快速诊断线程问题

    3K21发布于 2020-02-26
  • 来自专栏Java小册

    基于Arthas定位代码链路消耗时间

    Arthas 的 trace 命令可以帮助你在应用程序运行时追踪方法的调用轨迹,以便查看方法的输入参数、返回值以及执行时间等信息。以下是一个使用 Arthas 的 trace 命令的简单案例:1. 使用 Arthas 的 trace 命令追踪方法调用:启动你的 Java 应用程序。 使用 Arthas 连接到正在运行的应用程序:$ java -jar arthas-boot.jar <pid>在 Arthas 控制台中,使用 trace 命令追踪 getUserInfo 方法:trace 调用方法并观察输出:在应用程序中调用 getUserInfo 方法,可以观察到 Arthas 控制台中输出的方法调用信息,包括方法的入参、返回值等。4. [INFO] Return the result: User information for user id: 123通过以上步骤,你可以使用 Arthas 的 trace 命令实时监控和分析方法的调用过程

    51310编辑于 2024-05-21
  • 来自专栏冷冷

    使用Arthas 获取Spring ApplicationContext还原问题现场

    请求异常百度:{}", e); this.send2DingTalk(e.getMessage()); } log.info("执行检测百度网站连通任务完毕"); } 问题描述 ,感觉是哪里卡死,想当然以为如果超时总会到catch 逻辑,排查无果 由于任务是一小时一次,如何快速触发一下这个异常,还原事故现场 由于使用简单的Spring Task 没有图形化界面和API接口 Arthas 任意执行一次请求获取到 RequestMappingHandlerAdapter target 目标,然后执行 getApplicationContext tt命令 获取到ApplicationContext arthas 由于使用hutool 的工具类 没有设置timeout 导致无限等待,所以没有执行catch 逻辑 总结 以上吓哭实习僧的操作禁止生产操作,只是提供个思路 ,当然可以衍生其他业务场景的操作 核心是通过Arthas

    1.6K20发布于 2019-08-02
  • 来自专栏xuefly

    Keepalived问题定位

    问题中忘记了另一个同事也在测HA的稳定性,发现他也在用同样的组播地址和虚拟路由id,我修改之后重启keepalived,完美解决。

    81530编辑于 2022-12-30
  • 来自专栏小石头

    问题定位记录

    利用arthas 进行追踪jvm 相关信息 arthas 启动: curl -O https://arthas.aliyun.com/arthas-boot.jar java -jar arthas-boot.jar https://arthas.gitee.io/quick-start.html arthas 官方文档 无堆栈信息情况: JVM(HotSpot JVM)进行了优化。

    54510编辑于 2022-11-10
  • 来自专栏技术博客文章

    RocketMQ 问题定位

    问题背景与现象 昨晚收到了应用报警,发现线上某个业务消费消息延迟了 54s 多(从消息发送到MQ 到被消费的间隔): 2021-06-30T23:12:46.756 message processing 问题分析 首先联想到的是,是否是 消费线程卡住了呢 ? ,我们来看看 RocketMQ 是否有什么问题。 之前提到了,发送到这个 Topic 是指定了 hashKey 的,通过消息的 hashKey 我们可以定位到是哪个 broker: int hashCode = "我们的hashKey".hashCode 我们来查看 broker-2 上面的日志定位问题

    85800编辑于 2021-12-17
  • 来自专栏程序通事

    Arthas 实战,助你解决同名类依赖冲突问题

    Arthas 查到来源类 阿里开源项目 Arthas sc 命令可以用来查找加载类的信息。。 程序启动之后,启动 arthas,进入 A 应用。 运行如下命令: sc -d org.example.App 输出结果如下 : ? 当定位到了冲突类的来源,我们可以显示指定 classpath jar 包的顺序,指定类加载的顺序。但这只是暂时解决问题。本质上依赖冲突的问题,还是需要深层次排除的。

    2.1K20发布于 2020-03-19
  • 来自专栏Kirito的技术分享

    当Dubbo遇上Arthas:排查问题的实践

    Github: https://github.com/alibaba/arthas 文档:https://alibaba.github.io/arthas/ Arthas开源交流QQ群: 916328269 Arthas开源交流钉钉群: 21965291 当Dubbo遇上Arthas,会碰撞出什么样的火花呢? 下面来分享Arthas排查Dubbo问题的一些经验。 /proper/commons-ognl/language-guide.html 在排查问题时,需要查看到更多的信息,如果可以把logger级别修改为 DEBUG,就非常有帮助。 总结 本篇文章来自杭州Dubbo Meetup的分享《当DUBBO遇上Arthas - 排查问题的实践》,希望对大家线上排查Dubbo问题有帮助。

    75110发布于 2019-11-05
领券