zoukankan      html  css  js  c++  java
  • jmap 命令

    NAME
           jmap - Prints shared object memory maps or heap memory details for a process, core file, or remote debug server. 
    SYNOPSIS jmap [ options ] pid jmap [ options ] executable core jmap [ options ] [ pid ] server-id@ ] remote-hostname-or-IP

    参数说明:

    options:

       executable   Java executable from which the core dump was produced.(可能是产生core dump的java可执行程序)
       core 将被打印信息的core dump文件
       remote-hostname-or-IP 远程debug服务的主机名或ip
       server-id 唯一id,假如一台主机上多个远程debug服务,用此选项参数标识服务器

    基本参数:

       <no option> 如果使用不带选项参数的jmap打印共享对象映射,将会打印目标虚拟机中加载的每个共享对象的起始地址、映射大小以及共享对象文件的路径全称
       -dump:[live,]format=b,file=<filename> 使用hprof二进制形式,输出jvm的heap内容到文件, live子选项是可选的,假如指定live选项,那么只输出活的对象到文件
       -finalizerinfo 打印正等候回收的对象的信息
       -heap 打印heap的概要信息,GC使用的算法,heap的配置及wise heap的使用情况
       -histo[:live] 打印每个class的实例数目,内存占用,类全名信息. VM的内部类名字开头会加上前缀"*". 如果live子参数加上后,只统计活的对象数量
       -permstat 打印classload和jvm heap长久层的信息. 包含每个classloader的名字,活泼性,地址,父classloader和加载的class数量. 另外,内部String的数量和占用内存数也会打印出来
       -F 强迫.在pid没有响应的时候使用-dump或者-histo参数. 在这个模式下,live子参数无效
       -h | -help 打印辅助信息
       -J<flag> 传递参数给jmap启动的jvm

    示例:

    jmap -heap pid //打印heap的概要信息,GC使用的算法,heap的配置及wise heap的使用情况

    using parallel threads in the new generation.  ##新生代采用的是并行线程处理方式
    using thread-local object allocation.   
    Concurrent Mark-Sweep GC   ##同步并行垃圾回收
    
    Heap Configuration:  ##堆配置情况
       MinHeapFreeRatio = 40 ##最小堆使用比例
       MaxHeapFreeRatio = 70 ##最大堆可用比例
       MaxHeapSize      = 2147483648 (2048.0MB) ##最大堆空间大小
       NewSize          = 268435456 (256.0MB) ##新生代分配大小
       MaxNewSize       = 268435456 (256.0MB) ##最大可新生代分配大小
       OldSize          = 5439488 (5.1875MB) ##老生代大小
       NewRatio         = 2  ##新生代比例
       SurvivorRatio    = 8 ##新生代与suvivor的比例
       PermSize         = 134217728 (128.0MB) ##perm区大小
       MaxPermSize      = 134217728 (128.0MB) ##最大可分配perm区大小
    
    Heap Usage: ##堆使用情况
    New Generation (Eden + 1 Survivor Space):  ##新生代(伊甸区 + survior空间)
       capacity = 241631232 (230.4375MB)  ##伊甸区容量
       used     = 77776272 (74.17323303222656MB) ##已经使用大小
       free     = 163854960 (156.26426696777344MB) ##剩余容量
       32.188004570534986% used ##使用比例
    
    Eden Space:  ##伊甸区
       capacity = 214827008 (204.875MB) ##伊甸区容量
       used     = 74442288 (70.99369812011719MB) ##伊甸区使用
       free     = 140384720 (133.8813018798828MB) ##伊甸区当前剩余容量
       34.65220164496263% used ##伊甸区使用情况
    
    From Space: ##survior1区
       capacity = 26804224 (25.5625MB) ##survior1区容量
       used     = 3333984 (3.179534912109375MB) ##surviror1区已使用情况
       free     = 23470240 (22.382965087890625MB) ##surviror1区剩余容量
       12.43827838477995% used ##survior1区使用比例
    
    To Space: ##survior2 区
       capacity = 26804224 (25.5625MB) ##survior2区容量
       used     = 0 (0.0MB) ##survior2区已使用情况
       free     = 26804224 (25.5625MB) ##survior2区剩余容量
       0.0% used ## survior2区使用比例
    
    concurrent mark-sweep generation: ##老生代使用情况
       capacity = 1879048192 (1792.0MB) ##老生代容量
       used     = 30847928 (29.41887664794922MB) ##老生代已使用容量
       free     = 1848200264 (1762.5811233520508MB) ##老生代剩余容量
       1.6416783843721663% used ##老生代使用比例
    
    Perm Generation: ##perm区使用情况
       capacity = 134217728 (128.0MB) ##perm区容量
       used     = 47303016 (45.111671447753906MB) ##perm区已使用容量
       free     = 86914712 (82.8883285522461MB) ##perm区剩余容量
       35.24349331855774% used ##perm区使用比例

    jmap  -histo:live  pid //打印每个class的实例数目,内存占用,类名信息

    BaseType Character   Type       Interpretation
    B                    byte       signed byte
    C                    char       Unicode character
    D                    double     double-precision floating-point value
    F                    float      single-precision floating-point value
    I                    int        integer
    J                    long       long integer
    L;                   reference  an instance of class
    S                    short      signed short
    Z                    boolean    true or false
    [                    reference  one array dimension

    jmap -dump:live,format=b,file=logfile pid //将内存使用的详细情况输出到文件

    赠人玫瑰,手有余香,如果我的文章有幸能够帮到你,麻烦帮忙点下右下角的推荐,谢谢!

    作者: imcati

    出处: https://www.cnblogs.com/imcati/>

    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接

  • 相关阅读:
    Understanding performance, load and stress testing
    添加查看原型的插件
    Navicat Premium 15安装破解
    APP 测试 与 WEB 测试的本质区别
    app专项测试(稳定性测试、安全性测试)
    ubantu在登录界面一致循环的问题
    Ubuntu虚拟机安装
    装WIN7
    Linux线程模型浅析
    django中常用的数据查询方法
  • 原文地址:https://www.cnblogs.com/imcati/p/11536216.html
Copyright © 2011-2022 走看看