JVM调优--04---dump文件分析 arthas在线排查工具

Posted 高高for 循环

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JVM调优--04---dump文件分析 arthas在线排查工具相关的知识,希望对你有一定的参考价值。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


dump文件

java堆转储快照

1. dump文件内容

2. 获取dump文件的方法

指令

jvisualvm 工具



3. dump文件分析工具

  • 使用 jhat 命令
  • 使用 jvisualvm 工具
  • 使用 MAT 工具

3.1 jhat 命令

  • jdk自带,jdk9以后就取消了

  • 访问端口 7000
  • 使用OQL查找特定问题对象


3.2 使用 jvisualvm 工具


3.3 使用 MAT 工具







arthas在线排查工具

  • Arthas 是Alibaba开源的Java诊断工具

官网

https://arthas.aliyun.com/doc/


在线排查工具----arthas

为什么需要在线排查?

  • 在生产上我们经常会碰到一些不好排查的问题,例如线程安全问题,用最简单的threaddump或者heapdump不好查到问题原因。为了排查这些问题,有时我们会临时加一些日志,比如在一些关键的函数里打印出入参,然后重新打包发布,如果打了日志还是没找到问题,继续加日志,重新打包发布。对于上线流程复杂而且审核比较严的公司,从改代码到上线需要层层的流转,会大大影响问题排查的进度

启动:


arthas 常用命令

  • jvm观察jvm信息
  • thread定位线程问题
  • dashboard 观察系统情况
  • heapdump + jhat分析
  • jad反编译
    动态代理生成类的问题定位 第三方的类(观察代码)版本问题(确定自己最新提交的版本是不是被使用)
  • redefine 热替换
    目前有些限制条件:只能改方法实现(方法已经运行完成),不能改方法名, 不能改属性 m() -> mm()
  • sc - search class
  • watch - watch method
  • 没有包含的功能:jmap

以上是关于JVM调优--04---dump文件分析 arthas在线排查工具的主要内容,如果未能解决你的问题,请参考以下文章

Java虚拟机:JVM调优-工具篇

JVM调优工具篇使用MAT工具分析dump文件(查看GC Roots)

jvm性能监控与GC调优

JVM性能调优与底层原理分析(学习笔记)

JVM调优--07---GC日志分析纤程

jvm性能调优实战 - 61常用的JVM调优网站