当前位置: 首页 > article >正文

Java堆内存分析

(一)、线上查看堆内存统计

# 命令用于打印堆内存中每个类的实例数量及其占用的内存,并且只包括活动对象(即存活的对象)
jmap -histo:live <pid>

# 输出到文件方便查看
jmap -histo:live 12345 > aaa.txt

(二)、下载dump文件,使用MAT进行分析


jmap -dump:live,format=b,file=heapdump.hprof <pid>

MAT分析A类的引用链

1、定位特定实例
  • 安装MAT后,打开heapdump.hprof文件
  • 在 Histogram 中,右键点击 A 类,选择 List Objects -> with incoming references。
  • 这会列出所有 A 实例,并显示每个实例的内存地址。
2、分析特定实例的引用链
  • 选中一个 A 实例,右键选择 Merge Shortest Paths to GC Roots -> Exclude Weak References。
  • 这会显示从垃圾回收根(GC Root)到该类加载器实例的引用路径。
3、关注关键路径
  • 在引用链中,重点查看分析

http://www.kler.cn/a/501212.html

相关文章:

  • LeetCode 热题 100 | 滑动窗口
  • Zookeeper概览
  • [离线数仓] 总结二、Hive数仓分层开发
  • Spring——依赖注入之p命名空间和c命名空间
  • EasyExcel(二)导出Excel表自动换行和样式设置
  • Qt监控系统远程网络登录/请求设备列表/服务器查看实时流/回放视频/验证码请求
  • Spring Boot教程之五十五:Spring Boot Kafka 消费者示例
  • 基于Java 的高性能缓存库 Caffeine 详细介绍
  • golang单元测试
  • [QCustomPlot] 交互示例 Interaction Example
  • 项目开发实践——基于SpringBoot+Vue3实现的在线考试系统(五)
  • 银河麒麟服务器操作系统桌面任务栏网络图标消失问题
  • 使用RSyslog将Nginx Access Log写入Kafka
  • http常用状态码(204,304, 404, 504,502)含义
  • Day04-后端Web基础——Maven基础
  • Git 操作与技巧
  • 详解数据增强中的平移shft操作
  • 【C++入门】详解(中)
  • PySpark广播表连接解决数据倾斜的完整案例
  • 多模态人工智能在零售业的未来:通过GPT-4 Vision和MongoDB实现智能产品发现
  • Filebeat es
  • C# 解决“因为算法不同,客户端和服务器无法通信”的问题
  • vue3+ts+element-plus 对话框el-dialog设置圆角
  • Java基础面试题day02——数据类型
  • 【非常详细】TCP/IP协议详解
  • Unity3d 基于Barracuda推理库和YOLO算法实现对象检测功能