JVM性能调优监控工具jmap

一、作用

监控内存内的Java对象

二、语法

1.命令格式

jmap [option] <pid>

2.jps

①在搜索栏中输入cmd,回车打开
②输入jps出现如下界面
在这里插入图片描述
③其中4320是eclipse的进程id(即命令格式中的pid)

3.option相关参数

①-help

帮助工具
在这里插入图片描述

②-heap

打印Java堆概要信息,包括使用的GC算法、堆配置参数和各代中堆内存使用情况
在这里插入图片描述
在这里插入图片描述

③-histo[:live]

打印Java堆中对象直方图,通过该图可以获取每个class的对象数目,占用内存大小和类全名信息,带上:live,则只统计活着的对象

jmap -histo:live 4320 > out.txt//输入代码进行测试

将输出的结果放入out.txt文件中(文件所在根目录C:\Users\kjw,可通过全盘搜索查找)
在这里插入图片描述

④-clstats

打印永久代统计信息、
JDK7以前还有永久代,JDK8以后永久代被元空间代替
故-permstat命令变为-clstats
在这里插入图片描述
上述过程后Eclipse暂停服务

⑤-finalizerinfo

打印等待回收的对象信息
在这里插入图片描述

Number of objects pending for finalization: 0 
//说明当前F-QUEUE队列中并没有等待Fializer线程执行finalizer方法的对象

⑥-dump:(dump-options)

以hprof二进制格式将Java堆信息输出到文件内,该文件可以用MAT、VisualVM或jhat等工具查看

dump-options选项:
    live 只输出活着的对象;不指定,则输出堆中所有对象
    format=b 指定输出格式为二进制
    file=<file> 指定文件名及文件存储位置

例子如下:
在这里插入图片描述
在D盘中生成下图文件在这里插入图片描述

⑦-F

与-dump:<dump-options> <pid>或-histo<pid>一起使用,当<pid>没有响应时,强制执行;
注意:不支持live子选项
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值