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

 

posted @   香吧香  阅读(6197)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· 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
点击右上角即可分享
微信分享提示