jmap的使用能够參考:

官方文档 http://docs.oracle.com/javase/6/docs/technotes/tools/share/jmap.html

和这篇博客 http://blog.csdn.net/fenglibing/article/details/6411953

本文主要是介绍一下jmap经常使用的几个參数,作为自己的备忘录。注意假设是使用64位的JVM,使用jmap的时候,须要加-J-d64

1、打印每一个class的实例数量,内存占用,类全名信息.live子參数,仅仅统计活的对象数量.

> jmap -histo:live 6824

 num     #instances         #bytes  class name
----------------------------------------------
1: 1232 238144 [C
2: 414 48184 <constMethodKlass>
3: 69 32712 [B
4: 414 29864 <methodKlass>
5: 60 29512 <constantPoolKlass>
6: 1084 26016 java.lang.String

2、打印永久代中classloader的相关信息

>jmap -permstat 6824
class_loader    classes bytes   parent_loader   alive?  type

<bootstrap>     382     1684072   null          live    <internal>
0x2a3a7fe0 0 0 null live sun/misc/Launcher$ExtClassLoader@0x38a951e8
0x2a3aa748 6 51592 0x2a3a7fe0 live sun/misc/Launcher$AppClassLoader@0x38ab7350

3、显示对内存的分配和使用情况,对于了解jvm内存分配非常实用,会显示年轻代、老年代和永久代的相关内存信息。

>jmap -heap 6824
using thread-local object allocation.
Mark Sweep Compact GC Heap Configuration:
MinHeapFreeRatio = 40

4、最经常使用的获取内存dump

jmap -dump:live,format=b,file=m.hprof 6824 

能够參考http://blog.csdn.net/aitangyong/article/details/24012535这篇博客

jmap命令(Java Memory Map)的使用的更多相关文章

  1. jmap命令(Java Memory Map)(转)

    JDK内置工具使用 一.javah命令(C Header and Stub File Generator) 二.jps命令(Java Virtual Machine Process Status To ...

  2. 五、jdk工具之jmap(java memory map)、 mat之四--结合mat对内存泄露的分析、jhat之二--结合jmap生成的dump结果在浏览器上展示

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

  3. JDK内置工具之一——JMap(java memory map)

    1.介绍 打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量). 可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本.使用方法 j ...

  4. OpenStreetMap(OSM) JMap Viewer(Java swing map)

    This article from:http://wiki.openstreetmap.org/wiki/JMapViewer JMapViewer is a java component which ...

  5. java命令--jmap命令使用(查找内存泄漏对象)

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

  6. 十一、jdk命令之Jstatd命令(Java Statistics Monitoring Daemon)

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

  7. 十一、jdk命令之Jstatd命令(Java Statistics Monitoring Daemon)远程的监控工具连接到本地的JVM执行命令

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

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

    jmap名称:Java Memory Map(内存映射) 官方文档:https://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jmap.html ...

  9. jmap(Memory Map For Java)

    功能   jmap(Memory Map For Java)命令用于生成堆转储快照(一般称为heaphump或dump文件).如果不使用jmap命令,要想获取Java堆转储快照还有一些比较“暴力”的手 ...

随机推荐

  1. MySQL 5.7主从复制与主主复制实现细节分析

    0.简介: MySQL作为世界上使用最为广泛的数据库之一,免费是其原因之一.但不可忽略的是它本身的功能的确很强大.随着技术的发展,在实际的生产环境中,由单台MySQL数据库服务器不能满足实际的需求.此 ...

  2. Andriod布局

    布局[ViewGroup]   像素单位的变化:是用dip,而不是px,主要用于宽高的设置 在Android中支持的描述大小区域的类型有以下几种. px(pixels)——像素:不同的设备显示效果相同 ...

  3. git的使用02

    接下来我们要将文件交给仓库去托管 如何使用版本库

  4. ubuntu默认用户分析

    harvey@ubuntu:/etc$ cat -b passwd root:x:::root:/root:/bin/bash daemon:x:::daemon:/usr/sbin:/bin/sh ...

  5. 【linux高级程序设计】(第十五章)UDP网络编程应用 1

    UDP网络通信流程 UDP没有connect的过程,故发送数据时需要指明目的地址,不能使用read/write/send/recv. 采用sendto()和recvfrom() ssize_t sen ...

  6. Linux操作常识

    1.分区 linux如果手动选择分区,必须的两个分区是根分区和swap分区,swap分区是与内存的交换分区,通常设置大小为内存的两倍(如果内存够大也可以不用设置) 2.关机重启      命令:shu ...

  7. AC日记——Dining poj 3281

    [POJ-3281] 思路: 把牛拆点: s向食物连边,流量1: 饮料向t连边,流量1: 食物向牛1连边,流量1: 牛2向饮料连边,流量1: 最大流: 来,上代码: #include <cstd ...

  8. 腾讯微信支付,程序员是如何让jQuery代码付钱的

    微信支付和支付宝支付已经是我们生活中不可确实的两个金融软件了,也是必备的,小编认为小钱用微信,大钱用支付宝. 下面这个图是我们生活中用腾讯微信支付平台的最后一个页面,大家想不想知道这个页面是如果做出来 ...

  9. [Git]Git 常用的操作命令

    创建本地仓库 git init 获取远程仓库 git clone [url] 例如:git clone https://github.com/you/yourpro.git 创建远程仓库 添加一个新的 ...

  10. Spring Boot特点

    特点: 1.化繁为简,简化配置 2.备受关注,是下一代框架 3.为服务的入门级框架