Arthas

1.安装

curl -L https://alibaba.github.io/arthas/install.sh | sh

2.选择要观察的进程

执行./as.sh  查看进程列表  选择要观察的进程编号 回车 Arthas会attach到目标进程上,并输出日志:

3.根据阿里巴巴官方文档 用命令查看虚拟机各种运行数据  https://alibaba.github.io/arthas/advanced-use.html

在dock中使用Arthas

1.进入容器

docker exec -it communication bash

2.在容器中新建目录 并安装工具 后续使用同上

mkdir walle

cd walle

curl -L https://alibaba.github.io/arthas/install.sh | sh

./as.sh

3.学习资料

1.https://pan.baidu.com/s/1SHzaWwx-DOPjZLVs3zDz5A   提取码1111

在k8s放入 arthas调试 1.arthas.tar.gz和debug.sh文件上传到服务器路径 /home/intellif 【脚本中路径已写死】 2.进入容器内,解压arthas.tar.gz【 tar -zxvf arthas.tar.gz 】

2.执行脚本 输入容器名称  然后容器内启动 root@ubuntu:/opt/arthas-3.3.3-bin# java -jar arthas-boot.jar

3. idea里面插件有部分对应命令,我一般就用watch和monitor

新版本的arthas的idea插件 ,生成参数多了一个 -v, 把这个参数去掉,不然执行有异常

4.arthuas官方使用文档 https://arthas.aliyun.com/doc/

5.OGNL表达式  https://juejin.cn/post/6844904130591326215

6.查找cpu占用多的线程

在arthas里面输入如下命令,查看CPU使用率TOP N的线程   thread -n 5

6.排查占用内存过多的问题 

在arthas里面输入如下命令 heapdump  得到dump文件  -->  jdk安转目录下使用jhat分析dump文件

访问启动端口 查看内存对象创建情况

7.quit 退出当前 Arthas 客户端,其他 Arthas 客户端不受影响   

stop——和shutdown命令一致 表示关闭 Arthas 服务端,所有 Arthas 客户端全部退出

8.在线更新class文件内容 

8.1.反编译
jad --source-only com.intellif.community.service.impl.TendencyPersonRecordServiceImpl  > /tmp/TendencyPersonRecordServiceImpl.java
8.2.新开一个ssh 进入文件存储位置/tmp文件夹 修改文件
vi TendencyPersonRecordServiceImpl.java
8.3.查找加载的 ClassLoader
sc -d *TendencyPersonRecordServiceImpl | grep classLoaderHash
8.4.编译
mc -c 42a57993 /tmp/TendencyPersonRecordServiceImpl.java -d /tmp
8.5.热更新
redefine /tmp/com/intellif/community/service/impl/TendencyPersonRecordServiceImpl.class

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值