阿尔萨斯-jvm

Jvm

jvm 检测工具

阿尔萨斯(Arthas)

安装

wget https://alibaba.github.io/arthas/arthas-boot.jar

或者直接访问网址进行jar包的下载

监控命令常用命令

dashboard(仪表盘)

    dashboard 以仪表盘展示数据信息

Thread (查看线程信息)

    Thread 查看所有运行线程信息
    Thread 编号: 查看指定线程号的详细信息

*** -n 展示最繁忙的线程 ***

    thread -n 3 展示三个最忙得到线程

*** -b 展示当前被阻塞的线程 ***

    thread -b 展示被阻塞的现场  如果出现死锁也会展示出来

*** --State 查看指定状态的线程 ***

    thread --statee Waiting 查看暂停的线程
    thread --state Runnable 查看正在运行的线程

Jvm 查看jvm信息

sys

sysprop 获取系统值

也可以进行修改 sysprop key value

sysenv 查看系统环境变量
vmoption 查看虚拟机信息

sc (search class)查看指定路径下的类信息

-d 显示类的详细信息
-f 显示类内的成员变量信息
sc com.oom.*  -d 

sm (search method) 查看制定个方法信息

-d 显示类的详细信息
-f 显示类内的成员变量信息
sm com.oom.controller.OOMController
sm com.oom.controller.*

getstatic 查看代码内部


getstatic 类名 静态变量

实现在运行过程当中修改代码

1、将修改的类使用jad 进行反编译
2、修改代码内容
3、执行mc将.java文件修改
4、执行redefine命令
jad 反编译(查看源码信息)

*** jad 包路径 + 类 ***

jad com.oom.controller.LockController -d 生成的文件路径
mc 将java 代码编译为字节码
mc java文件路径  -d 生成的.class文件路径
redefine 將生成.class文件加载到jvm运行内存中
redefine f:/OOMController.class

watch 动态监控指定方法(监控方法的调用以及返回值)

*** watch 类全路径 方法名 返回值 ***

watch  com.oom.controller.OOMController saveListInfo returnObj

退出 阿尔萨斯

quit/exit

quit/exit 表示关闭当前Session

stop

stop 关闭 服务

dump 将制定类的字节码生成到制定路径

dump com.oom.controller.OOMController -d F:/

classloader 查看类加载器

classloader -l  查看详细信息类加载器的父类加载器

classloader -a  查看类加载器加载的所有类

classloader -c  查看类的加载器所在路径

monitor 监控方法调用信息


监控方法的调用次数
monitor com.oom.controller.OOMController saveListInfo -c 5

-c 几秒输出一次

watch 实时监控

    -b 调用之前
    -e 出现异常以后sd
    -s 方法返回之后
    -f 方法结束后
 watch com.oom.controller.OOMController txtObj "{params,returnObj}" -x 5 监控指定方法的入参以及出参


trace 查看方法的调用过程

 trace com.oom.controller.OOMController *
 trace com.oom.controller.OOMController * -n 统计指定次数
 trace --skipJDKMethod false com.oom.controller.OOMController * 不跳过底层JDK 所执行的方法

 trace com.oom.controller.OOMController * '#cost > 2'  查询线程执行大于2秒的w

stack 查看调用栈的信息

     stack com.oom.controller.OOMController  saveListInfo

tt 监控方法调用

`` txt
tt -t 查看方法调用

``

基础命令

help

help 展示所有的命令

cat

cat 查看文件内容

grep

只能配合能查出命令的语句后面例如
-i 不区分大小邪恶
-n 显示行号
-m 显示指定行数
thread | grep 

pwd 展示当前路径

cls 清除屏幕

session 展示当前会话信息

rest 重置

version 展示当前服务版本

history 展示命令执行历史

keymap 展示所有快捷键

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容