jmap使用方法及原理

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

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

jmap常用命令

1.jmap -h

2. jmap -heap 

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

示例:jmap -heap  1

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

扫描二维码关注公众号,回复: 11344412 查看本文章



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
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

猜你喜欢

转载自www.cnblogs.com/shay/p/13177007.html