写在前面

该命令可用于查看虚拟机中对象实例数以及占用空间大小,生成堆转储文件,之后结合jvirsualvm等工具进行可视化查看,辅助定位程序的内存异常问题。

  • 测试代码
public class ManyObj {private static List<People> peopleList = new ArrayList<>();public static void main(String[] args) throws Exception {System.out.println("test begin");IntStream.rangeClosed(1, 99999).forEach(__ -> peopleList.add(new People()));System.out.println("test end");System.in.read();}
}

1:获取对象实例数

$ jmap -histo 26396num     #instances         #bytes  class name
----------------------------------------------1:         99999        1599984  dongshi.daddy.zhengxi.People2:           950         479976  [Ljava.lang.Object;3:          5138         479224  [C...

class name:类名称,[C is a char[],[S is a short[],[I is a int[],[B is a byte[],[[I is a int[][]。

2:查看堆信息

3:生成堆转储文件并可视化

3.1:生成堆转储文件

$ jmap -dump:live,format=b,file=d:\\test\\manyobjdump.hprof 26396
Dumping heap to D:\test\manyobjdump.hprof ...
Heap dump file created

3.2:可视化查看

我们使用jvisualvm来查看文件->载入

写在后面

jmap-查看实例个数以及占用内存大小 。

JVM工具之jmap命令使用相关推荐

  1. java命令--jmap命令使用

    https://www.cnblogs.com/kongzhongqijing/articles/3621163.html jdk安装后会自带一些小工具,jmap命令(Java Memory Map) ...

  2. java 命令: jmap 命令使用 ( 查看内存使用、设置 )

    jdk安装后会自带一些小工具,jmap命令(Java Memory Map)是其中之一.主要用于打印指定Java进程(或核心文件.远程调试服务器)的共享对象内存映射或堆内存细节. jmap命令可以获得 ...

  3. java jmap用法_java命令--jmap命令使用

    jdk安装后会自带一些小工具,jmap命令(Java Memory Map)是其中之一.主要用于打印指定Java进程(或核心文件.远程调试服务器)的共享对象内存映射或堆内存细节. jmap命令可以获得 ...

  4. 73.JVM内存基础结构,参数分类,推荐的配置项,参数混用问题,常用工具,常用命令

    73.JVM内存基础结构,参数分类,推荐的配置项,参数混用问题,常用工具,常用命令 73.1.堆内存基本结构 73.2.参数分类 73.3.推荐的配置项 73.4.参数混用问题 73.5.常用命令 7 ...

  5. java jmap jc_利用jmap命令查看JVM内存使用详情

    介绍 打印出某个java进程(使用pid)内存内的,所有'对象'的情况(如:产生那些对象,及其数量).它的用途是为了展示java进程的内存映射信息,或者堆内存详情. 可以输出所有内存中对象的工具,甚至 ...

  6. jvm性能调优工具之 jmap使用详解

    本文来说下jvm性能调优工具之 jmap使用详解 文章目录 概述 jmap用法 示例一:no option 示例二:heap 示例三:histo[:live] 示例四:clstats 示例五:fina ...

  7. java项目内存分析jmap命令+MAT工具

    一.分析背景 在服务器上运行java项目服务时,由于服务所实现的功能导致每个项目在消耗服务器系统内存上有所差异.如果在项目中某个功能模块中作了不良好的操作导致占用的资源未能及时释放就会导致内存泄露,服 ...

  8. java内存溢出分析工具:jmap使用实战

    java内存溢出分析工具:jmap使用实战 在一次解决系统tomcat老是内存撑到头,然后崩溃的问题时,使用到了jmap.  1 使用命令  在环境是linux+jdk1.5以上,这个工具是自带的,路 ...

  9. 七、jdk工具之jconsole命令(Java Monitoring and Management Console)

    目录 一.jdk工具之jps(JVM Process Status Tools)命令使用 二.jdk命令之javah命令(C Header and Stub File Generator) 三.jdk ...

最新文章

  1. 两度延期,K项目终于要开工了!
  2. 图解VC++绘制数学曲线
  3. 试题 历届试题 幸运数(二分)
  4. python菜单栏_pyqt5——菜单和工具栏
  5. php类中引函数变量,一个非线性差分方程的隐函数解
  6. 永擎服务器主板稳定性,主板看不停 Computex2015华擎展台一览
  7. 通过配置文件连接mysql_利用配置文件连接数据库
  8. XNA:2D图元与3D模型共存时的渲染问题
  9. 一个算例 介绍 libmesh 的类
  10. Ubuntu 12.04 安装PYQT4和Eric4
  11. 计算机一级报名是报ms office 吗,计算机一级考试
  12. 那些年Android黑科技②:欺骗的艺术
  13. PdgCntEditor一键生成PDF书签目录
  14. 14种鼻型图解_十种鼻型分类图解
  15. 优先队列默认是小顶堆吗_堆和堆傻傻分不清?进来!包教会!
  16. Java 将两个日期的时间段按照一定天数进行周期切割
  17. 用WIN汇编开发桌面报时工具
  18. 一次探索:基于香农熵预测DNA中编码序列,python实现。
  19. 专家观点——唐福林谈Redis应用实践
  20. day3字符串操作作业详解

热门文章

  1. 白菜刷LeetCode记-454. 4Sum II
  2. scratch猫捉老鼠 电子学会图形化scratch编程等级考试一级真题编程题答案2019-8
  3. 零售商场无线覆盖解决方案
  4. behave java_BDD模式-Python behave的简单使用
  5. GPU性能优化之CUDA调优指南
  6. 2020-04-05
  7. php如何加密视频地址,如何加密PHP文件
  8. 女性电子商务服装评论数据集
  9. 离差,标准差和 方差
  10. html css实现自动滑动的轮播图,CSS 轮播图的实现(纯CSS,连续滑动无倒滑效果)...