Arthas教程

news2024/9/21 20:39:33

Linux环境安装

下载地址:https://alibaba.github.io/arthas/arthas-boot.jar

java -jar arthas-boot.jar   运行
quit   退出
stop  停止

Arthas快速入门

一.执行一个jar包
二.通过arthas来attach(黏附)
三.常用命令操作

诊断demo下载https://alibaba.github.io/arthas/arthas-demo.jar

1.启动demo的jar
java -jar arthas-demo.jar
2.启动arthas
java -jar arthas-boot.jar

Arthas命令

1.dashboard仪表板

dashboard

在这里插入图片描述

q 退出命令

2.通过thread命令来获取arthas-demo进程的Main Class

thread 命令

在这里插入图片描述

thread 1 查看ID为1的线程详细情况

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

jad demo.MathGame  反编译包名.类名

在这里插入图片描述
4.watch监视(通过watch命令来查看函数的返回值)

watch demo.MathGame primeFactors returnObj   watch 包名.类名

在这里插入图片描述

q 退出

5.退出arthas命令

stop 完全退出命令,结束会话

基础命令之一

1.help
2.cat 打印文件内容
3.grep 匹配查找
4.pwd 返回当前的工作目录,和linux命令类似
5.cls 清空当前屏幕区域

sysprop | grep java -n 显示带java的行号
sysprop | grep java -m 10 显示带行号的前10行

基础命令之二

1.session 显示java进程pid,session_id 为会话id
在这里插入图片描述
2.reset 重置增强类,将被Arthas增强过的类全部还原,Arthas服务端关闭时会重置所有增强过的类
3.version 输出当前java进程所加载的Arthas版本号
4.history 列出执行过的命令
5.quit 退出当前Arthas客户端,不影响其他会话
6.stop 关闭Arthas,所有会话全部退出
7.keymap 显示快捷键

jvm相关命令

1.dashboard
仪表板 按q退出

2.thread

thread tid  显示某个id线程的信息
thread -n 3  显示最忙的3个线程并打印堆栈信息
thread -b 处于阻塞状态的线程
thread -i 1000 -n 3 每隔1000毫秒显示前3个最繁忙的线程
thread --state WAITING  查看所有处于等待的线程

3.jvm

jvm

thread相关
COUNT:JVM当前活跃的线程数
DAEMON-COUNT:JVM当前活跃的守护线程数
PEAK-COUNT:从jvm启动开始曾经活着的最大线程数
STARTED-COUNT:从jvm启动开始总共启动过的线程次数
DEADLOCK-COUNT:jvm当前死锁的线程数

4.sysprop 查看和修改JVM的系统属性

jvm相关命令之二

1.sysenv 查看所有环境变量

sysenv 

2.vmoption 查看jvm虚拟机的参数

vmoption 

在这里插入图片描述

3.getstatic 类名 属性名 查看类的静态属性

getstatic demo.MathGame random     getstatic 类名 属性名      

4.ognl 同getstatic作用,有特定语法

Arthas高阶命令

dump 将已加载的字节码文件保存到特定目录

dump java.lang.String

classloader

classloader  查看所有的类加载器

monitor 监视指定类中方法的执行情况

monitor demo.MathGame primeFactors -c 5   monitor  包名.类名  方法名  每隔5秒

在这里插入图片描述
watch 观察指定方法的调用情况

watch定义了4个观察点,即-b 方法调用前,-e 方法异常后,-s 方法返回后,-f 方法结束后
4个观察事件点-b,-e,-s默认关闭,-f默认打开,在相应事件点会对观察表达式进行求值并输出

watch demo.MathGame primeFactors "{params,returnObj}" -x 2    查看 包名.类名 方法名  "{入参,返回值}"  深度为2

在这里插入图片描述

watch demo.MathGame primeFactors "{params,returnObj}" -x 2 -b    观测方法执行前的入参

在这里插入图片描述

watch demo.MathGame primeFactors "target" -x 2 -b     获取对象的属性

在这里插入图片描述

watch demo.MathGame primeFactors "target.illegalArgumentCount" -x 2 -b    获取对象illegalArgumentCount的属性信息

在这里插入图片描述

watch demo.MathGame primeFactors "{params,target,returnObj}" -x 2 -b -s -n 2   方法前,方法后返回入参,对象,出参信息,执行两次(-n 执行次数)

在这里插入图片描述

watch demo.MathGame primeFactors "{params[0],target}" "params[0]<0"   条件过滤,第一个入参参数小于0的信息

在这里插入图片描述
trace 对方法的内部调用路径,耗时进行输出。OGNL表达式使用。

trace demo.MathGame run -n 2   输出run方法的追踪信息  输出2次

在这里插入图片描述
ts:执行事件
thread_name:线程名称
红色:消耗资源较高的方法

stack 输出当前方法被调用的调用路径

stack demo.MathGame primeFactors    查看primeFactors方法的调用顺序

在这里插入图片描述

stack demo.MathGame primeFactors "params[0]<0" -n 2    查看primeFactors方法的调用顺序,过滤条件第一个参数小于0
stack demo.MathGame primeFactors "#cost>0.5" -n 2     查看primeFactors方法的调用顺序,过滤条件消耗事件大于0.5秒

tt 记录指定方法调用的入参和返回信息

tt -t demo.MathGame primeFactors

在这里插入图片描述

 tt -i 1001   调用1001,返回详细信息

在这里插入图片描述

options 全局选项

profiler 火焰图对CPU进行采样

profiler start  启动命令
profiler list 查看支持的事件
profiler getSamples  获取样本数
profiler stop  停止,会生成样本图
profiler stop  --format html    停止,生成指定格式的火焰图

在这里插入图片描述

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

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

相关文章

Oracle Primavera Unifier活动管理器(Activity Manager)

目录 一、简要介绍 二、其他相关 一、简要介绍 Oracle Primavera Unifier Activity“活动”被定义为必须按计划完成的工作或事件的一部分。 Activity也就是以上的活动&#xff0c;它从映射的 P6 项目中捕获计划数据&#xff0c;从公司级主费率表&#xff08;默认&#xff0…

大数据必学Java基础(一百零二):连接池的使用

文章目录 连接池的使用 一、连接池基础知识扩展 二、代码实战 1、定义连接池

信道划分介质访问控制ALOHA协议CSMA协议CSMA/CD协议轮询访问MAC协议

注&#xff1a;最后有面试挑战&#xff0c;看看自己掌握了吗 文章目录传输数据两种链路点对点链路广播式链路介质访问控制静态划分信道动态划分信道轮询访问介质访问控制随机访问介质访问控制---所有用户都可以随机发送信息ALOHA协议------想说就说CSMA协议------先听再说1-坚持…

【保姆级】新机器部署RabbitMQ

1、登录服务器&#xff0c;如果非root用户则切root用户 sudo su - 2、在/usr/tmp目录上传erlang、rabbitmq安装包 3、将安装包移到/usr/local/目录 mv /usr/tmp/erlang-21.3.8.2-1.el7.x86_64.rpm /usr/local/ mv /usr/tmp/rabbitmq-server-3.7.15-1.el7.noarch.rpm /usr/lo…

基础知识:临界阻尼

任何一个振动系统&#xff0c;当阻尼增加到一定程度时&#xff0c;物体的运动是非周期性的&#xff0c;物体振动连一次都不能完成&#xff0c;只是慢慢地回到平衡位置就停止了。当阻力使振动物体刚好能不作周期性振动而又能最快地回到平衡位置的情况&#xff0c;称为“临界阻尼…

JS高级(三):严格模式、闭包、递归、深拷贝和浅拷贝

JavaScript高级&#xff08;三&#xff09;一、严格模式1.开启严格模式&#xff08;1&#xff09;为脚本开启严格模式&#xff08;2&#xff09;为某个函数开启严格模式2.严格模式的一些规定&#xff08;1&#xff09;禁止变量未声明就赋值&#xff08;2&#xff09;禁止删除已…

AMD发布22.11.1驱动,支持《使命召唤:战区2.0》

他来了他来了&#xff0c;带着迷人的脚步走来了&#xff01; 《使命召唤&#xff1a;战区2.0》正式上线了。有Steam周榜三连冠的《使命召唤19》在前&#xff0c;《战区2.0》可以说是备受瞩目&#xff0c;免费大逃杀&#xff0c;谁不期待&#xff1f; &#xff08;图源自steam&…

一句话生成图片,FlagAI使用(附页面操作代码) | 机器学习

目录 前言 项目结构 页面交互调整 总结 前言 最近Text-To-Image是一个很火的话题&#xff0c;甚至更进一步的Text-To-Video话题度也在不断上升。最近看到一个开源项目FlagAI&#xff0c;是目前我觉着效果比较好的项目之一。安装操作简单&#xff0c;支持中英文&#xff0c;…

疫情防控管理系统

1、项目介绍 疫情防控管理系统拥有两种角色&#xff1a;管理员和用户 管理员&#xff1a;医护信息管理、物资管理、疫苗管理、疫站管理等 用户&#xff1a;登录注册、物资、疫苗、疫站查看 2、项目技术 后端框架&#xff1a; Servlet、mvc模式 前端技术&#xff1a;Bootst…

yolov5剪枝实战1: 论文及yolov5剪枝实战项目介绍

本系列博客介绍yolov5剪枝方法 1. 介绍 神经网络一般都存在过参数化(over-parameterized)的问题,存在冗余的神经元或权重,所以可以进行剪枝。 其实对网络可以针对不同的颗粒度进行剪枝,可以进行权重、神经元级别的剪枝,也可以基于channel, shape,filter以及layer级别的剪枝…

卷积神经网络基础

由于篇幅所限&#xff0c;本章将重点介绍计算机视觉的经典模型&#xff08;卷积神经网络&#xff09;和两个典型任务&#xff08;图像分类和目标检测&#xff09;。主要涵盖如下内容&#xff1a; 卷积神经网络&#xff1a;卷积神经网络&#xff08;Convolutional Neural Netwo…

Nginx知识汇总

一、Nginx的简介 nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器&#xff1b;同时也是一个IMAP、POP3、SMTP代理服务器&#xff1b;nginx可以作为一个HTTP服务器进行网站的发布处理&#xff0c;另外nginx可以作为反向代理进行负载均衡的实现。 二、Nginx的优…

基于微信小程序的沁园健身房预约管理系统设计与实现-计算机毕业设计源码+LW文档

小程序开发说明 开发语言&#xff1a;Java 框架&#xff1a;ssm JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Mave…

[附源码]Python计算机毕业设计 楼盘销售管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

【Linux】第十二章 多线程(线程概念+线程控制)

&#x1f3c6;个人主页&#xff1a;企鹅不叫的博客 ​ &#x1f308;专栏 C语言初阶和进阶C项目Leetcode刷题初阶数据结构与算法C初阶和进阶《深入理解计算机操作系统》《高质量C/C编程》Linux ⭐️ 博主码云gitee链接&#xff1a;代码仓库地址 ⚡若有帮助可以【关注点赞收藏】…

UNet - 训练数据train

目录 1. train 训练数据 2. Loss 值 3. 完整代码 1. train 训练数据 训练的代码只是在之前图像分类的基础上做了一些更改&#xff0c;具体的可以看下面的文章 pytorch 搭建 LeNet 网络对 CIFAR-10 图片分类https://blog.csdn.net/qq_44886601/article/details/127498256 …

EventBridge 生态实践:融合 SLS 构建一体化日志服务

作者&#xff1a; 昶风 引言 阿里云日志服务 SLS 是一款优秀的日志服务产品&#xff0c;提供一站式地数据采集、加工、查询与分析、可视化、告警、消费与投递等服务。对于使用 SLS 的用户业务而言&#xff0c;SLS 上存储的日志信息反映着业务的运行状态&#xff0c;通过适当地…

2021年认证杯SPSSPRO杯数学建模D题(第一阶段)停车的策略全过程文档及程序

2021年认证杯SPSSPRO杯数学建模 D题 停车的策略 原题再现&#xff1a; 开车前往人流集中的目的地时&#xff0c;决定在何处停车经常是一个难题。是停在距离目的地较远的地方&#xff0c;因为那里的空余车位可能较多&#xff0c;然后再走很远的路&#xff1f;或者是否应该乐观…

【C语言】程序的翻译环境和执行环境

&#x1f6a9;write in front&#x1f6a9; &#x1f50e;大家好&#xff0c;我是謓泽&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f3c5;2021年度博客之星物联网与嵌入式开发TOP5&#xff5…

智慧博物馆解决方案-最新全套文件

智慧博物馆解决方案-最新全套文件一、建设背景二、思路架构三、解决方案建成5个方面1、集约化2、物联网接入3、大数据可视化分析4、室内室外地图集成5、可视化信息多元交互四、获取 - 智慧博物馆全套最新解决方案合集一、建设背景 博物馆是征集、典藏、陈列和研究代表自然和人…