jmap命令(Java Memory Map)的使用

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这篇博客


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值