您当前的位置:首页 > 电脑百科 > 网络技术 > 网络技术

线上debug诊断神器-Arthas

时间:2021-06-25 09:14:22  来源:  作者:胡言胡语的笔记

前言

当遇到 JAVA 线上问题时,如 CPU 飙升、负载突高、内存溢出等问题,你需要查命令,查网络,然后 jps、jstack、jmap、jhat、jstat、hprof 等一通操作。而除了这些,Arthas 是一款命令行交互模式的 Java 诊断工具,由于是 Java 编写,所以可以直接下载相应 的 jar 包运行,它是Java 线上问题定位处理的终极利器。

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

  1. 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
  2. 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
  3. 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
  4. 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
  5. 是否有一个全局视角来查看系统的运行状况?
  6. 有什么办法可以监控到JVM的实时运行状态?
  7. 怎么快速定位应用的热点,生成火焰图?
  8. 怎样直接从JVM内查找某个类的实例?

安装方式

官方安装方式参考:Arthas下载:
https://arthas.aliyun.com/doc/download.html#id2

上传至服务器,解压到某个文件文件夹(我这里文件夹叫arthas)

线上debug诊断神器-Arthas

 

切换到解压文件夹,启动Arthas

使用命令:java -jar arthas-boot.jar启动,启动过程中会让你选择监控哪个项目,输入序号即可

线上debug诊断神器-Arthas

 

启动成功后,可使用官方提供的命令查看内存、线程相关信息

官方命令文档:
https://arthas.aliyun.com/doc/commands.html

常用命令

线上debug诊断神器-Arthas

 

dashboard命令 可以看到,这里会显示出线程(按照cpu占用百分比倒排)、内存(堆空间实时情况)、GC情况等数据。可以按Ctrl+C或者q退出

线上debug诊断神器-Arthas

 

thread命令查看所有线程信息,同时会列出每个线程的 CPU 使用率,可以看到图里 ID 为12 的线程 CPU 使用率

线上debug诊断神器-Arthas

 

thread 33命令 查看 CPU 消耗较高的 12 号线程信息,可以看到 CPU 使用较高的方法和行数

线上debug诊断神器-Arthas

 

thread -n 10命令查看CPU占用率前10的线程的堆栈信息

thread -b命令查看目前block线程

thread -n 5 -i 5000命令查看5s内的CPU使用率top 5线程栈

trace 包名+类名 方法名命令查看方法调用耗时

线上debug诊断神器-Arthas

 

stop命令关闭Arthas服务端

quit命令退出Arthas客户端

常保存日志

将命令的结果完整保存在日志文件中,便于后续进行分析,默认情况下,该功能是关闭的,如果需要开启,请执行以下命令:

线上debug诊断神器-Arthas


Tags:Arthas   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception...【详细内容】
2021-08-13  Tags: Arthas  点击:(83)  评论:(0)  加入收藏
性能评估根据github上相关的issues,arthas的定位是问题诊断与排查,只需要在进行问题诊断时运行并attach到进程上即可,其对系统的影响取决于所监控的JAVA进程的并发情况。http:/...【详细内容】
2021-06-29  Tags: Arthas  点击:(156)  评论:(0)  加入收藏
前言当遇到 Java 线上问题时,如 CPU 飙升、负载突高、内存溢出等问题,你需要查命令,查网络,然后 jps、jstack、jmap、jhat、jstat、hprof 等一通操作。而除了这些,Arthas 是一款...【详细内容】
2021-06-25  Tags: Arthas  点击:(130)  评论:(0)  加入收藏
1 Arthas(阿尔萨斯) 能为你做什么? 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法在线上...【详细内容】
2021-06-23  Tags: Arthas  点击:(116)  评论:(0)  加入收藏
2020年Java原创面试题库连载中【000期】Java最全面试题库思维导图【020期】JavaSE系列面试题汇总(共18篇)【028期】JavaWeb系列面试题汇总(共10篇)【042期】JavaEE系列面试题汇...【详细内容】
2021-01-26  Tags: Arthas  点击:(180)  评论:(0)  加入收藏
转载本文需注明出处:微信公众号EAWorld,违者必究。 ‍‍‍‍‍什么是Arthas‍‍‍‍‍‍‍‍‍‍‍‍‍ Java 诊断...【详细内容】
2020-11-04  Tags: Arthas  点击:(173)  评论:(0)  加入收藏
​Alibaba开源Java诊断工具Arthas Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。在线排查问题,无需重启;动态跟踪Java代码;实时监控JVM状态。当你遇到以下类似问题而束...【详细内容】
2020-07-22  Tags: Arthas  点击:(48)  评论:(0)  加入收藏
在阿里巴巴内部,有很多自研工具供开发者使用,其中有一款工具,是几乎每个Java开发都使用过的工具,那就是Arthas,这是一款Java诊断工具,是一款牛逼带闪电的工具。该工具已于2018年9...【详细内容】
2019-07-29  Tags: Arthas  点击:(260)  评论:(0)  加入收藏
▌简易百科推荐
写一个shell获取本机ip地址、网关地址以及dns信息。经常会遇到取本机ip、网关、dns地址,windows一个命令ipconfig /all全部获取到,但linux系统却并非如此。linux系统都自带ifc...【详细内容】
2021-12-27  K佬食古    Tags:shell   点击:(0)  评论:(0)  加入收藏
步骤1、配置 /etc/sysconfig/network-scripts/ifcfg-eth0 里的文件。it动力的CentOS下的ifcfg-eth0的配置详情:[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifc...【详细内容】
2021-12-24  忆梦如风    Tags:网卡   点击:(9)  评论:(0)  加入收藏
1、查找当前目录下所有以.tar结尾的文件然后移动到指定目录find . -name “*.tar” -execmv {}./backup/ ;注解:find –name 主要用于查找某个文件名字,-exec 、xargs可...【详细内容】
2021-12-17  郭主任    Tags:运维   点击:(18)  评论:(0)  加入收藏
对于经常上网的朋友来说,除了手机购物上网,pc端玩网页游戏还是很多小伙伴首选的,但是有时候明明宽带链接上了,打开浏览器却出现上不了网的现象,下面小编要来跟大家说说电脑有网络...【详细内容】
2021-12-16  小白系统    Tags:网页无法打开   点击:(28)  评论:(0)  加入收藏
在访问像github、gitlab这样的外国网站时,很有可能会出现页面加载不出来或找不到页面的错误。这时候有的朋友就会以为是网络的问题,于是把Wifi断掉连上自己手机的热点,结果却还...【详细内容】
2021-12-15  启施技术IT狼叔    Tags:外网   点击:(14)  评论:(0)  加入收藏
网络地址来源:获取公网IP地址 https://ipip.yy.com/get_ip_info.phphttp://pv.sohu.com/cityjson?ie=utf-8http://www.ip168.com/json.do?view=myipaddress...【详细内容】
2021-12-15  韦廷华12    Tags:外网ip   点击:(14)  评论:(0)  加入收藏
准备好软件IPOP、用ENSP模拟一下华为交换机 启动交换机 <Huawei>sysEnter system view, return user view with Ctrl+Z.[Huawei]sysname FTPClient[FTPClient]interface vla...【详细内容】
2021-12-15  思源Edward    Tags:交换机   点击:(22)  评论:(0)  加入收藏
我们经常用到netstat命令查看主机连接状况,包括连接ip、端口、状态等,今天就练习下shell分析netsat结果。描述假设netstat命令运行的结果我们存储在nowcoder.txt里,格式如下:Pro...【详细内容】
2021-12-14  K佬食古    Tags:netstat   点击:(19)  评论:(0)  加入收藏
什么是滑动窗口?窗口是操作系统开辟的一块缓存空间,发送方在收到接收方ACK应答之前,必须在缓冲区保留已发送的数据,如果按期收到确认应答,数据就可以从缓冲区移除。什么是滑动窗...【详细内容】
2021-12-14  DifferentJava    Tags:TCP   点击:(28)  评论:(0)  加入收藏
概述日常管理华为路由设备过程中,难为会忘记设备登录密码,那么该如何重置设备登录密码吗?本期文章将全面向各位小伙伴总结分享。重置华为设备登录密码思路先行 采用console登录...【详细内容】
2021-12-10  onme0    Tags:   点击:(26)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条