zoukankan      html  css  js  c++  java
  • 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这篇博客


  • 相关阅读:
    QuickFlash
    第五课:类的封装性 M
    第六课:构造方法、匿名对象 M
    第四课:面向对象(基础) M
    第八课:引用传递 M
    第七课:String类 M
    第二课:数组 M
    第三课:方法 M
    ASP .Net的应用程序域(The Application Domain)
    js 解数独程序
  • 原文地址:https://www.cnblogs.com/yfceshi/p/6814983.html
Copyright © 2011-2022 走看看