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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!