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文件类型-->找到堆快照文件-->打开

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

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

最新文章

  1. pythonchallenge 解谜
  2. zTree默认勾选指定ID并执行事件
  3. Java:多态(向上转型)
  4. python string intern
  5. Hadoop的partitioner、全排序
  6. codeforce 621A(水题)
  7. Microsoft Azure自动化测试
  8. PL/SQL 动态SQL
  9. hdu 4709 Herding hdu 2013 热身赛
  10. Android学习-----如何使用sqlite对于后台数据交换,sqlite使用例程入门
  11. 201521123098 JAVA课程设计
  12. HTTP服务及状态码
  13. css的内容
  14. vue页面固定锁死
  15. JDK源码——单例模式
  16. Go开发之路 -- strings以及strconv的使用
  17. 剑指offer(13)
  18. 品味性能之道<十一>:JAVA中switch和if性能比较
  19. Advanced Electronic Engineer
  20. Hadoop守护进程【简--】

热门文章

  1. python的sort和sorted
  2. pandas知识点脑图汇总
  3. Python - 100天从新手到大师
  4. 【转】Linux下tcp连接断开后不释放的解决办法
  5. 利用restassured实现http/https接口请求
  6. 如何开发出优秀的APICloud应用
  7. Modular Production Line (MCMF)
  8. linux mustache bash 实现mo 做为docker容器运行动态配置工具数组的处理
  9. Shared Virtual Memory (SVM) Functions
  10. Nginx目录文件列表显示