jmap 查看jvm内存大小并进行dump文件内存分析
本文为博主原创,未经允许不得转载:
1.jmap的使用
Jmap 可以用来查看内存信息,实例个数以及占用内存大小.
jmap -histo[:live] 打印每个class的实例数目,内存占用,类全名信息. VM的内部类名字开头会加上前缀”*”. 如果子参数加上live后,只统计活的对象数量.
命令:
jmap -histo pid // 或
jmap -histo:live pid
num:序号
instances:实例数量
bytes:占用空间大小
class name:类名称,[C is a char[],[S is a short[],[I is a int[],[B is a byte[],[[I is a int[][]
2. 查看堆信息:
jmap -heap pid

3. 堆内存dump到指定目录,并导入到 jvisualvm
jmap ‐dump:format=b,file=eureka.hprof pid
或
jmap ‐dump:format=b,file=eureka.tdump pid
dump生成的文件可以用jvisualvm命令工具导入该dump文件分析: 打开 jdk 的bin目录的 jvisualvm 工具,选择文件,再选择装入,
并选中对应的文件类型,即可进行导入文件,分析内存对象。
4. 可以使用指定的启动参数,将运行时的内存溢出主动导出到dump文件中
‐XX:+HeapDumpOnOutOfMemoryError ‐XX:HeapDumpPath=D:\jvm.dump
标签:
JVM
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix