• jmap 命令


    1.  jmap -heap pid

             查看java 堆(heap)使用情况

            using thread-local object allocation.
            Parallel GC with 4 thread(s)          //GC 方式          Heap Configuration:       //堆内存初始化配置
             MinHeapFreeRatio=40     //相应jvm启动參数-XX:MinHeapFreeRatio设置JVM堆最小空暇比率(default 40)
             MaxHeapFreeRatio=70  //相应jvm启动參数 -XX:MaxHeapFreeRatio设置JVM堆最大空暇比率(default 70)
             MaxHeapSize=512.0MB  //相应jvm启动參数-XX:MaxHeapSize=设置JVM堆的最大大小
             NewSize  = 1.0MB          //相应jvm启动參数-XX:NewSize=设置JVM堆的‘新生代’的默认大小
             MaxNewSize =4095MB   //相应jvm启动參数-XX:MaxNewSize=设置JVM堆的‘新生代’的最大大小
             OldSize  = 4.0MB            //相应jvm启动參数-XX:OldSize=<value>:设置JVM堆的‘老生代’的大小
             NewRatio  = 8         //相应jvm启动參数-XX:NewRatio=:‘新生代’和‘老生代’的大小比率
             SurvivorRatio = 8    //相应jvm启动參数-XX:SurvivorRatio=设置年轻代中Eden区与Survivor区的大小比值
              PermSize= 16.0MB       //相应jvm启动參数-XX:PermSize=<value>:设置JVM堆的‘永生代’的初始大小
              MaxPermSize=64.0MB  //相应jvm启动參数-XX:MaxPermSize=<value>:设置JVM堆的‘永生代’的最大大小

              Heap Usage:               //堆内存分步
              PS Young Generation
              Eden Space:          //Eden区内存分布
                capacity = 20381696 (19.4375MB)  //Eden区总容量
                used     = 20370032 (19.426376342773438MB)  //Eden区已使用
                free     = 11664 (0.0111236572265625MB)  //Eden区剩余容量
                99.94277218147106% used  //Eden区使用比率
             From Space:        //当中一个Survivor区的内存分布
                 capacity = 8519680 (8.125MB)
                 used     = 32768 (0.03125MB)
                 free     = 8486912 (8.09375MB)
                 0.38461538461538464% used
            To Space:            //还有一个Survivor区的内存分布
                capacity = 9306112 (8.875MB)
                used     = 0 (0.0MB)
                free     = 9306112 (8.875MB)
                0.0% used
            PS Old Generation  //当前的Old区内存分布
                capacity = 366280704 (349.3125MB)
                used     = 322179848 (307.25464630126953MB)
                free     = 44100856 (42.05785369873047MB)
                87.95982001825573% used
            PS Perm Generation  //当前的 “永生代” 内存分布
                capacity = 32243712 (30.75MB)
                used     = 28918584 (27.57891082763672MB)
                free     = 3325128 (3.1710891723632812MB)
                89.68751488662348% used

          2. jmap -histo pid

            查看堆内存(histogram)中的对象数量。大小

                    num     #instances         #bytes  class name

                    序号         实例个数            字节数       类名   
            ----------------------------------------------
             1:       3174877      107858256  [C
             2:       3171499       76115976  java.lang.String
             3:       1397884       38122240  [B
             4:        214690       37785440  com.tongli.book.form.Book
             5:        107345       18892720  com.tongli.book.form.Book
             6:         65645       13953440  [Ljava.lang.Object;
             7:         59627        7648416  <constMethodKlass>
             8:        291852        7004448  java.util.HashMap$Entry
             9:        107349        6871176  [[B

             ..........

            total       9150732      353969416

          3. jmap - dump  pid

              将内存使用的具体情况输出到文件

              jmap -dump:format=b,file=m.datpid

               用jhat命令能够參看 jhat -port 5000 m.dat
            在浏览器中訪问:http://localhost:5000/  查看具体信息

           sun 官方文档  http://download.oracle.com/javase/1.5.0/docs/tooldocs/share/jmap.html


    class name相应的就是Class文件中的class的标识
    B代表byte
    C代表char
    D代表double
    F代表float
    I代表int
    J代表long
    Z代表boolean
    前边有[代表数组。[I 就相当于int[]

    对象用[L+类名表示
  • 相关阅读:
    剑指offer二十九---最小的k个数
    Select2插件 点击、选中事件 解读
    Datatable插件的简单的使用方式 和 学习方式
    java map获取值方式
    mysql delete语句使用别名报错
    springmvc 添加@ResponseBody
    maven 创建后报错
    nodejs
    gulp
    Nodejs-express 4.0框架 简单介绍
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/8413076.html
Copyright © 2020-2023  润新知