• jmap使用方法及原理


     https://cloud.tencent.com/developer/article/1452072

    jmap jvm自带命令行工具,可用于了解系统运行时的对象分布,常用命令格式如下

    jmap常用命令

    1.jmap -h

    2. jmap -heap 

    查看java堆的信息以及垃圾回收算法等 

    示例:jmap -heap  1

    查看进程号为1的java堆的信息以及垃圾回收算法等 



    3.
    jmap -histo <pid>

    打印当前java堆中所有对象的实例数和大小等,加了live选项则只打印存活的对象 

    // 命令行输出类名、类数量数量,类占用内存大小,
    // 按照类占用内存大小降序排列

    示例:

    jmap -histo 1(进城号)

     

    
    
    3. jmap -dump:<dump-options> 

    dump-options主要有:

    • live 只dump存活的对象,如果不加则会dump所有对象
    • format=b 表示以二进制格式
    • file=filepath 输出到某个文件中

    java堆中的对象dump到本地文件,然后使用第三方工具进行分析,如MAT,JProfile,IBM的分析工具等

    例如:

    jmap -dump:format=b,file=xxx.bin  JVM 进程号ID(获取JVM heap dump 文件)(xxx.bin生成的heap dump文件)

    示例:

    jmap -dump:live,format=b,file=dump.hprof <pid>
    jmap -dump:format=b,file=dump.hprof <pid>
    // 生成堆内存转储快照,在当前目录下导出dump.hrpof的二进制文件, // 可以用eclipse的MAT图形化工具分析 jmap -dump:live,format=b,file=dump.hprof <pid> 复制代码



    jinfo 命令格式
    1.jinfo <pid> 
      用来查看正在运行的 Java 应用程序的扩展参数,包括Java System属性和JVM命令行参数
    作者:分布式系统架构
    链接:https://juejin.im/post/5b6b986c6fb9a04fd1603f4a
    来源:掘金
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    c/c++ 标准库 map multimap元素访问
    c/c++ 标准库 map set 删除
    c/c++ 标准库 map set 插入
    c/c++ 标准库 map set 大锅炖
    c/c++ 标准库 pair 介绍
    c/c++ 标准库 set 自定义关键字类型与比较函数
    c/c++ 标准库 插入迭代器 详解
    python基础-内置函数 isinstance() 与 issubclass()
    移动端事件(其他触摸事件)hammer.js
    移动端事件(touchstart+touchmove+touchend)
  • 原文地址:https://www.cnblogs.com/shay/p/13177007.html
Copyright © 2020-2023  润新知