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/
- 查看JVM信息
2.1 查看整个JVM内存状态
jmap -heap [pid]
2.2 查看JVM堆中对象详细占用情况文章来源:https://www.toymoban.com/news/detail-621604.html
jmap -histo [pid]文章来源地址https://www.toymoban.com/news/detail-621604.html
到了这里,关于JVM导出内存映像(dump)文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!