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

文章目录

  • dump文件
      • java堆转储快照
    • 1. dump文件内容
    • 2. 获取dump文件的方法
      • 指令
      • jvisualvm 工具
    • 3. dump文件分析工具
    • 3.1 jhat 命令
    • 3.2 使用 jvisualvm 工具
    • 3.3 使用 MAT 工具
  • arthas在线排查工具
    • 官网
      • https://arthas.aliyun.com/doc/
    • 在线排查工具----arthas
    • 启动:
    • 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在线排查工具相关推荐

  1. JVM 调优实战--使用jstack分析线程执行情况

    目录 jstack的使用 线程的6种状态 使用jstack分析死锁示例 jstack的使用 jstack命令可以直接输出每个线程的执行情况. 线程的6种状态 超时等待状态和等待状态的区别: 超时等待状 ...

  2. JVM(五)JVM调优

    文章目录 一.调优实践 1.1 规划 1.1.1 规划步骤 1.1.2 规划案例 1.2 解决JVM运行过程中出现的问题 1.2.1 用jstack定位锁相关问题 1.2.2 OOM问题的定位方式 1 ...

  3. JVM 调优实战--常见的垃圾回收算法及垃圾收集器组合

    什么是垃圾 C语言申请内存:malloc free C++: new delete c/C++ 手动回收内存 Java: new ? 自动内存回收,编程上简单,系统不容易出错,手动释放内存,容易出两种 ...

  4. JVM调优 dump文件怎么生成和分析

    1.获取JVM的dump文件的两种方式 1. JVM启动时增加两个参数: #出现 OOME 时生成堆 dump: -XX:+HeapDumpOnOutOfMemoryError #生成堆文件地址: - ...

  5. JVM从入门到精通(七):GC常用参数,Method Area,JVM调优案例分析

    GC常用参数 -Xmn -Xms -Xmx -Xss 年轻代 最小堆 最大堆 栈空间 -XX:+UseTLAB 使用TLAB,默认打开 -XX:+PrintTLAB 打印TLAB的使用情况 -XX:T ...

  6. JVM从入门到精通(九):JVM调优实战 - arthas 的使用

    Arthas 文档 https://github.com/alibaba/arthas/blob/master/README_CN.md 运行起来我们的java程序 启动 arthas 的 jar 文 ...

  7. 【闲聊杂谈】一篇给你讲清楚JVM调优的本质

    1.什么是JVM JVM的定义 在说JVM之前,首先要知道什么是JVM.JVM是JavaVirtualMachine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机, ...

  8. jvm系列(四):jvm调优-命令大全(jps jstat jmap jhat jstack jinfo)

    2019独角兽企业重金招聘Python工程师标准>>> 文章同步发布于github博客地址,阅读效果更佳,欢迎品尝 运用jvm自带的命令可以方便的在生产监控和打印堆栈的日志信息帮忙我 ...

  9. JVM从入门到精通(八):JVM调优实战

    案例1:系统CPU经常100%,如何调优? 推理过程是:CPU100%,那么一定有线程在占用系统资源,所以 找出哪个进程cpu高(top命令) 该进程中的哪个线程cpu高(top -Hp) 如果是ja ...

  10. jvm系列(四):jvm调优-命令篇

    运用jvm自带的命令可以方便的在生产监控和打印堆栈的日志信息帮忙我们来定位问题!虽然jvm调优成熟的工具已经有很多:jconsole.大名鼎鼎的VisualVM,IBM的Memory Analyzer ...

最新文章

  1. C++数据结构链表的基本操作
  2. 微信小程序开发流程介绍
  3. 数据结构源码笔记(C语言):顺序查找
  4. 7-72 分解质因数 (20 分)
  5. Qt中修改应用程序和标题栏的图标
  6. python日志保存为html文件,用 Python 抓取公号文章保存成 HTML
  7. 代码行云流水..这位刚高中毕业的 UP 主,告诉我人的学习能力没有上限
  8. android天气预报开题报告,开题报告-基于Android手机移动天气预报系统.doc
  9. 【愚公系列】2022年10月 微信小程序-电商项目-商品详情页面说明和商品导航
  10. VMware14虚拟机破解版安装详细教程
  11. 高山仰止,景行行止。虽不能至,然心向往之。
  12. easyui Datagrid的deleteRow多行删除问题
  13. utools:比everything更好用的集成工具
  14. 各类支付通道大全以及支付通道选择
  15. Android语音播报、后台播报、语音识别
  16. 2018中国大学生程序设计竞赛 - 网络选拔赛
  17. 2020最全面试题库
  18. 新玩意 扩展主机省钱又方便赛过无盘(转)
  19. 小白Jupyter快捷键
  20. 520特辑 有一个IDC运维工程师的女朋友是什么体验

热门文章

  1. vue 浏览器地址是ip_Vue实战041:获取当前客户端IP地址详解(内网和外网)
  2. 关于dell电脑没有声音
  3. 夜曲编程python_python入门‼️夜曲编程‼️
  4. Java编译运行命令
  5. 【C++】运行MSDEV.EXE错误0xc0000142
  6. 产品经理学习笔记(二)-------------------商业模式和商业模式画布
  7. 两款专业卸载软件 Revo Uninstaller Pro 专业版 + msi专业卸载工具
  8. 北京林业大学matlab公选课,【抛砖引玉】一学期结束分享一下部分公选课和通识课经验...
  9. 股票历史数据下载-A股所有股票的历史数据下载
  10. 软件测试笔试面试题目完全汇总