arthas使用

2023-12-13 22:10:05

一、Arthas

1.启动arthas,并选择运行的java进程

java -jar arthas-boot.jar

2.arthas常用指令

dashboard     
#通过内存使用信息对JVM参数进行调优,分析GC情况
thread               #查看所有线程
thread   <tid>       #查看指定线程
thread   -b          #查看是否存在线程阻塞
jvm   #显示jvm详细信息:内存,类,GC,线程,打开文件数量等
sc  *MappApplication*   
#查找已加载的类,在日志提示找不到类的时候使用,支持模糊查找
sm  *MappApplication   main
#查找已加载类的方法,在日志提示找不到方法时使用
jad  com.wym.MappApplication
#反编译字节码,可以查看相关代码是否更新到,没更新到则再次更新
heapdump     /home/pid.hprof
#打印堆栈信息
logger   
#在不重启服务的情况下修改日志等级,一般生产会调成ERROR,调试时为了信息详细要改成INFO或DEBUG
logger -c  <hashcode> --name ROOT  --level  INFO

更多内容请参考官方文档https://arthas.gitee.io/doc/

二、JDK自带工具

1.jstack

jstack -l 进程ID  >  thread.dump
#输出指定进程的所有线程信息,如果存在大量的同类线程并伴随服务频繁宕机重启问题,考虑是否存在线程泄露

2.jmap

jmap  -dump:format=b,file=heapdump.hprof  <pid>     #生成堆栈文件

文章来源:https://blog.csdn.net/qq_42013578/article/details/134981422
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。