JVM导出内存映像(dump)文件

文章介绍了JVM中的dump文件,主要是通过jmap命令生成的HeapDump,它包含所有存活对象、类信息和垃圾回收根等内存快照。使用jmap的-dump选项可以将内存信息导出为二进制文件,然后用jhat进行解析和分析。此外,提到了jmap用于查看JVM内存状态和对象占用情况的其他命令。
摘要由CSDN通过智能技术生成

JVM导出内存映像(dump)文件
什么是 dump 文件
一般来说,使用 jmap 指令生成 dump 文件的操作算得上是最常用的 jmap 命令之一,将堆中所有
存活对象导出至一个文件之中
Heap Dump 又叫做堆存储文件,指一个 Java 进程在某个时间点的内存快照。Heap Dump 在触发内存快照的时候会保存此刻的信息如下:

● All 0bjects
Class, fields ,primitive values and references
● All Classes
ClassLoader ,name , super class,static fields

● Garbage Collection Roots|
objects defined to be reachable by the JVM
● Thread Stacks and Local Variables
The call-stacks of threads at the moment of the snapshot ,and per- frameinformation about local objects
手动导出
jmap -dump:format = b,file = <filename,hprof>
jmap -dump:live,format = b,file = <filename,hprof>

手动导出

jmap -dump:format = b,file = <filename,hprof>
jmap -dump:live,format = b,file = <filename,hprof>
手动导出
jmap -dump:format = b,file = <filename,hprof>
jmap -dump:live,format = b,file = <filename,hprof>
二、
1️⃣、在terminal终端中输入jps即可查看当前已启动的进程和对应的PID,如下图所示:pid=811
在这里插入图片描述2️⃣、执行命令:jmap -dump:format=b,file=heap.bin
在这里插入图片描述jmap 能查看jvm内存中,对象占用内存的情况,还提供非常方便的命令将jvm的内存信息导出的文件。

format=b是通过二进制的意思,-dump:format=b,file=heap.bin意思是:把内存结构全部dump到二进制文件heap.bin中。

3️⃣、执行命令:jhat -J-Xmx512m heap.bin ,(ha指IBM的HeapAnalyzer)
在这里插入图片描述就可以将我们刚刚使用jmap导出的内存信息交给jhat解析了。

默认的情况下,它会监听7000端口。本机的地址就是,http://localhost:7000/

  1. 查看JVM信息

2.1 查看整个JVM内存状态

jmap -heap [pid]

2.2 查看JVM堆中对象详细占用情况

jmap -histo [pid]

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值