《JVM调优》- Jmap指令详解

Jmap

常见用途

  • 生成JVM堆的dump文件
  • 查看finalize执行队列
  • 查看Java堆和方法区的详细信息

常用指令

jmap [option] <pid>
jmap [option] <executable <core>
jmap [option] [server_id@]<remote server IP or hostname>
  1. 指令一为jmap最常用指令,以进程id为入参查询相关信息,后续相关参数都以该指令做演示
  2. 指令二为查询core dump文件相关信息
  3. 指令三为查询远程服务,考虑到真实生产中的环境隔离,因此此指令也很少使用

命令参数说明:

  • pid:java进程ID

linux系统中可用ps命令查询
Windows系统中可用jps命令查询

  • option:jmap命令的核心参数,接下去详细讲解可选参数

option可选参数

-heap

展示Java堆信息详情,包含以下内容:

  • GC使用的算法
  • heap(堆)的配置信息
  • JVM堆内存的使用情况
    • 分代情况
    • 每个代的总容量、已使用、可使用内存
      在这里插入图片描述

-histo:[:live]

展示了Java Heap中对象的统计信息,包括了:

  • 对象的数量
  • 占用内存的大小
  • 类的全类名

在这里插入图片描述

此外,加上live参数,则只展示活动的对象

-clstats

展示元空间的类加载器信息
在这里插入图片描述

-finalizeinfo

展示正在等待Finalizer线程执行finalize方法的对象(及等待回收的对象)信息
在这里插入图片描述

-dump:< dump-options>

  • live:可选,是否只展示活动对象
  • format=b:表示以hprof二进制格式转储java的heap信息
  • file=:转储快照文件的名称

在这里插入图片描述

生成的dump文件可以通过分析工具进行解析,常用的包括jdk自带的jvisualvm,或者jconsole

-F

强制模式,在pid无响应时使用,一般搭配-dump或者-histo参数,此模式下,live自参数无效

-h | -help

显示帮助信息

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值