Arthas的基本命令(入门必备)

Arthas的基本命令(入门必备)

最近在做一些性能优化的方面工作,所以趁着周末休息,自己总结一波使用arthas的命令

提供一些关于我请教大牛们给粗的性能优化的工具和方向思考建议,

欢迎一起成长,哈哈哈!!

@[toc]

性能优化思路

序号 名称 作用
1 JProfiler 方法热点定位
2 JVM基础性能分析 Jvisualvm 堆栈 内存分配 GC次数
3 MAT 内存泄露 根据支配树去判断当前的情况 线程命名
4 Async Profiler 定位CPU的热点 锁的瓶颈
sql 复制代码
explain format=json  select ...

type:  你输入的类型
	all: 全表扫描类型

read-const : 读查询耗时
eval-const:  计算耗时 

联合索引:  最左原则匹配
type=ref  

Linux连接工具

cmd 复制代码
mobaxterm

总纲

简单入门了解

dashbord的命令

显示JVM的内存的情况,JVM中的环境信息

jad

进行反编译

warch

退出arthas

基础命令的学习

help cat grep pwd cls

help

1 help 查看命令帮助信息
2 cat 打印文件内容,没有写路劲,显示当前目录下文件
3 grep 匹配查找,用于管道命令,起到过滤作用,如sysprop | grep java -n : 显示行号 如: sysprop grep java -n -i: 忽略大小写查找 如: sysprop grep java -n -m 行数: 最多显示的行数,要与查询字符串一起使用 如: sysprop grep java -n -m 10 -e "正则表达式" : 使用正则表示查找
4 pwd 返回当前的工作目录
5 cls 清空屏幕

基础命令2

序号 命令 命令名称
1 session 查看当前的会话
2 reset 重置增强类,将被arthas增强过的类全部还原,arthas服务端关闭时会重置所有增强过的类 reset DemoClass 还原指定类 reset *List 还原所有以List结尾的类 reset 还原所有类
3 version 输出arthas的版本号
4 quit 退出当前的arthas客户端,其他的arthas客户端不受影响
5 stop 关闭arthas的服务器,退出所有的arthas客户端
6. keymap 显示arthas的所有命令的快捷键
7. history 显示所有你在arthas敲过的命令

JVM相关命令1

目标

1 dashboard 仪表板
2. thread 线程相关

1.dashboard

显示当前系统的实时数据面板,按q或者ctrl+c退出

thread

查看JVM的线程堆栈信息

如:

thread -n 3 显示最忙的前三个线程

thread 1 显示1号线程的信息

thread -b 查看阻塞线程信息

thread -i 1000 -n 3 :指定采样时间间隔,每过1000ms采样,显示最占时间的3个线程

thread --state WATTING: 查看处于等待状态的线程

JVM

查看JVM的信息

sysprop

查看和修改JVM的属性

sysprop: 查看所有属性

sysprop demo.home 查看指定的信息

JVM相关命令2

总纲

sysenv

查看当前JVM的环境属性

cmd 复制代码
sysenv   查看所有环境变量

sysenv  xx  查看单个环境变量

vmoption

查看诊断JVM的相关参数

cmd 复制代码
vmoption   查看所有选项

vmoption  xx  查看指定选项
cmd 复制代码
vmoption  PrintGcDetails  true  更新指定的选项

getstatic

方便查看类的静态属性

cmd 复制代码
getstatic  类名  属性名

举例:

cmd 复制代码
getstatic  demoClass  name 查看demoClass静态属性name值

ognl

执行ognl表达式 是3.0.5版本后

class/classloader相关命令

1.sc

举例

2.sm

参数说明

举例

class/classloader相关命令2

1.jad

参数说明

举例:

反编译指定函数

2.mc

作用

3.redefine

作用: 不推荐使用,可以使用retransfrom代替

redefine的限制

就是热部署的效果

未完待续

关于Arthas进阶以及火焰图,我们下期见

另外,有什么优化的建议,也欢迎大家积极交流

祝大家好运连连!!!

相关推荐
Go高并发架构_王工20 分钟前
GoFrame框架深度解析:grpool的优势、最佳实践与踩坑经验
服务器·后端·golang
exe4521 小时前
4 月 28 日项目进展与规划会议纪要
后端
我命由我123452 小时前
C++ - 数据容器之 list(创建与初始化、元素访问、容量判断、元素遍历、添加元素、删除元素)
c语言·开发语言·c++·后端·visualstudio·c#·visual studio
是店小二呀2 小时前
【优选算法 | 位运算】位运算基础:深入理解二进制操作
android·c++·算法·性能优化
一眼青苔2 小时前
flask中的Response 如何使用?
后端·python·flask
二七有头发3 小时前
Android短信监控技术实现:合法合规的远程采集方案
android·服务器·后端
浅清陌3 小时前
Flask入门基础1
后端·python·flask
I_Scholar4 小时前
基于SpringBoot的旅游网站的设计与实现
java·spring boot·后端·mysql·spring·旅游
冼紫菜6 小时前
[特殊字符] Spring Cloud 微服务配置统一管理:基于 Nacos 的最佳实践详解
java·开发语言·spring boot·后端·spring·springcloud
Code哈哈笑8 小时前
【SpringBoot】Spring中事务的实现:声明式事务@Transactional、编程式事务
java·spring boot·后端·spring·mybatis