jmap简单实用示例

44 篇文章 4 订阅
18 篇文章 4 订阅

jmap这些工具是jdk自带的调试工具,安装完之后位于bin目录下,例如:/usr/java/jdk1.7.0_67/bin/

 jmap用来查看堆内存使用状况,一般结合jhat使用。

1.jmap语法格式如下:

jmap [option] pid
jmap [option] executable core
jmap [option] [server-id@]remote-hostname-or-ip
如果运行在64位JVM上,可能需要指定-J-d64命令选项参数。
jmap -permstat pid

 打印进程的类加载器和类加载器加载的持久代对象信息,输出:类加载器名称、对象是否存活(不可靠)、对象地址、父类加载器、已加载的类大小等信息

[root@bogon usr]# jmap -permstat 10424
Attaching to process ID 10424, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 24.60-b09
finding class loader instances ..done.
computing per loader stat ..done.
please wait.. computing liveness........................done.
class_loader classes bytes parent_loader alive? type


<bootstrap> 1493 6084856  null   live <internal>
0xa18d1590 1229 6218584 0xa18d15e0 live sun/misc/Launcher$AppClassLoader@0x70f65b98
0xa1a77c00 0 0 0xa18d1590 live com/alibaba/fastjson/util/ASMClassLoader@0x712b4aa8
0xa18d15e0 0 0  null   live sun/misc/Launcher$ExtClassLoader@0x70f27d38
0xa1aed110 0 0 0xa18d1590 live java/util/ResourceBundle$RBClassLoader@0x7120e368



2.导出到文件:

 jmap -dump:format=b,file=/usr/test33.bin  10424

3.直接显示

jmap -histo 10424


 num     #instances         #bytes  class name
----------------------------------------------
   1:         34301        8999856  [B
   2:         30979        3689456  <constMethodKlass>
   3:         39666        3590512  [C
   4:           915        3165600  [I
   5:         30979        2731984  <methodKlass>
   6:          2441        1457456  <constantPoolKlass>
   7:          2441         995568  <instanceKlassKlass>
   8:          2146         852496  <constantPoolCacheKlass>
   9:         26281         630744  java.lang.String
  10:          2660         323400  java.lang.Class
  11:          4025         244360  [S
  12:          4870         233760  java.nio.HeapByteBuffer
  13:          4721         226608  java.nio.HeapCharBuffer
  14:          3150         223296  [Ljava.lang.Object;
  15:          8468         203232  java.util.HashMap$Entry
  16:          3961         202624  [[I

  17:          4322         165752  [[B


这里:

  • [C is a char[]
  • [S is a short[]
  • [I is a int[]
  • [B is a byte[]
  • [[I is a int[][]

constMethodKlass/ methodKlass/ constantPoolKlass/ constantPoolCacheKlass/ instanceKlassKlass/ methodDataKlass

与Classloader相关,常驻Perm区。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值