首页
归档
留言
友链
广告合作
壁纸
更多
美女主播
Search
1
博瑞GE车机升级/降级
5,590 阅读
2
Mac打印机设置黑白打印
4,903 阅读
3
修改elementUI中el-table树形结构图标
4,873 阅读
4
Mac客户端添加腾讯企业邮箱方法
4,654 阅读
5
intelliJ Idea 2022.2.X破解
4,333 阅读
后端开发
HarmonyOS Next
Web前端
微信开发
开发辅助
App开发
数据库
随笔日记
登录
/
注册
Search
标签搜索
Spring Boot
Java
Vue
Spring Cloud
Mac
MyBatis
WordPress
MacOS
asp.net
Element UI
Nacos
.Net
Spring Cloud Alibaba
MySQL
Mybatis-Plus
Typecho
jQuery
Java Script
微信小程序
Oracle
Laughing
累计撰写
618
篇文章
累计收到
1,419
条评论
首页
栏目
后端开发
HarmonyOS Next
Web前端
微信开发
开发辅助
App开发
数据库
随笔日记
页面
归档
留言
友链
广告合作
壁纸
美女主播
搜索到
1
篇与
的结果
2025-04-16
常用的dump文件分析工具
当系统发生内存溢出时,我们一般的处理方式都是通过抓取内存堆转储快照的形式进行分析,本文我们介绍几种日常常用的dump文件分析工具。准备工作我们通过-XX:+HeapDumpOnOutOfMemoryError参数让虚拟机在出现内存溢出时Dump出当前的内存堆转储快照,然后对Dump出的文件进行分析。示例代码如下import java.util.ArrayList; import java.util.List; public class HeapDump { static class HeapDumpObject { } public static void main(String[] args) { List<HeapDumpObject> heapDumpObjectList = new ArrayList<>(); while (true) { heapDumpObjectList.add(new HeapDumpObject()); } } }我们通过命令运行程序javac HeapDump.java java -Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError HeapDump此时程序会在程序运行目录下生成.hprof格式的dump文件,我们可以针对此文件进行分析,查找内存泄漏对象的引用路径,并定位到代码具体位置。工具一:JVisualVMJVisualVM是JDK自带的dump,目前在JDK中已经没有预置此工具了,我们可以通过 官网进行下载。点击左上角,可以加载我们的dump文件可以切换摘要、线程等页签,查看不同的跟踪信息。工具二:IntelliJ Idea自带的分析器依次打开【视图】-【工具窗口】- 【分析器】点击【打开快照】,选择我们上方生成的.hprof文件可以分析最大对象以及定位我们异常发生的位置。工具三:MATMAT全称Memory Analyzer,是eclipse出品的一款独立的内存分析工具,可以在 官网下载。{message type="success" content="下载时,注意选择镜像位置,默认日本节点较慢"/}打开软件后,选择[Open a Heap Dump]可以查看对象占用空间等信息,也可以定位具体代码位置工具三:JProfilerJProfiler 是一款强大的性能分析工具,能够深入分析 Java 应用程序的 CPU 使用情况、内存消耗、线程状态和数据库查询,从而帮助快速定位性能瓶颈。打开JProfiler后,点击左上角【会话】-【打开快照】,可以选择我们本地的dump文件。双击占用最大的类,然后引用选择【传入引用】在【引用】页签,选择点击【显示更多】,可以查看异常代码的位置。
2025年04月16日
10 阅读
0 评论
0 点赞