arthas学习笔记

一.java自带的常用命令

1.jps: 列出所有的java相关进程
2.jinfo + 进程: 该java进程的详细信息
3.jstat -gc 进程 + 500: 每500毫秒刷新gc情况
4.jmap -histo + 进程:查看所有对象的占用情况
5.jhsdb jmap --heap --pid 1(进程):查看堆内存使用情况

二.arthas常用命令

官网:https://arthas.aliyun.com/doc/commands.html

https://www.bilibili.com/video/BV1kg411q7Td?spm_id_from=333.788.player.switch\&vd_source=12d5954938d20d50645e227a6a728c76\&p=6

1. jad + 类全路径:反编译出类的完整代码

该命令可以用于排查线上环境发布的代码。

2. thread: 查看当前线程信息,查看线程的堆栈

例如:thread -3 : 展示最忙的前3个线程,然后根据 thread+现成号找到线程堆栈

3. trace :查看某个方法的性能瓶颈

线上一个接口可能有很多链条,能够定位出瓶颈在哪个链。

4. watch :线上debug

例如,你想查看某个方法传入某个参数后,返回值是什么或者是否抛异常,就可以使用该命令,命令执行后,调用线上接口,让其执行到某个方法,观察输出。

5. tt :查看某个方法一段时间的调用情况
6. redefine :实现不停服务,热修改代码
相关推荐
StickToForever2 小时前
第4章 信息系统架构(五)
经验分享·笔记·学习·职场和发展
leegong231115 小时前
学习PostgreSQL专家认证
数据库·学习·postgresql
敲敲敲-敲代码5 小时前
【SQL实验】触发器
数据库·笔记·sql
Moonnnn.6 小时前
51单片机学习——动态数码管显示
笔记·嵌入式硬件·学习·51单片机
南宫生7 小时前
力扣每日一题【算法学习day.132】
java·学习·算法·leetcode
技术小齐7 小时前
网络运维学习笔记 016网工初级(HCIA-Datacom与CCNA-EI)PPP点对点协议和PPPoE以太网上的点对点协议(此处只讲华为)
运维·网络·学习
竹言笙熙7 小时前
代码审计初探
学习·web安全
日记成书7 小时前
物联网智能项目
物联网·学习
虾球xz8 小时前
游戏引擎学习第118天
学习·游戏引擎
gz927cool8 小时前
大模型做导师之开源项目学习(lightRAG)
学习·开源·mfc