jvm 性能调优工具之 jmap 命令详解

jmap名称:Java Memory Map(内存映射)

官方文档:https://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jmap.html

功能描述:

内容太多,直接看前辈们的总结:

java命令--jmap命令使用(这篇文章写得非常好)
https://www.cnblogs.com/kongzhongqijing/articles/3621163.html

Java虚拟机的内存组成以及堆内存介绍
http://www.hollischuang.com/archives/80

Java GC工作原理
http://www.hollischuang.com/archives/76

JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释
https://www.cnblogs.com/kxm87/p/7205414.html

JDK,JRE,JVM区别与联系
http://www.hollischuang.com/archives/78

【JVM】12_空间分配担保(没看懂?)
https://blog.csdn.net/u013295276/article/details/78468790?locationNum=1&fps=1

 

 

下面是我的一个小小实践:

1.使用 jmap -dump:format=b,file=filename pid 命令将堆快照文件下载到本地

1

2

3

4

5

6

7

[root@hadoop ~]# jmap -dump:format=b,file=/root/heap.hprof 3346 #导出堆快照文件

Dumping heap to /root/heap.hprof ...

Heap dump file created

[root@hadoop ~]# ll #查看

total 8572

-rw-------  1 root root 4365247 Apr  9 08:15 heap.hprof

[root@hadoop ~]# sz heap.hprof #将文件下载到本地

2.使用JVM自带的JVisualVM工具查看堆快照文件

在%JAVA_HOME%/bin目录下双击jvisualvm.exe打开-->文件-->装入-->选择Dump文件类型-->找到堆快照文件-->打开

在类栏中找到你要查看的类名

双击进入实例数栏-->查看统计出的实例化的对象数目,分析对象的引用找到是谁在实例化此对象,从而找到产生大对象的原因。

分类: Java中级java高级JAVA-性能调优

标签: jmapjava

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值