JVM 调优实战--jmap的使用以及内存溢出分析

目录


jmap的使用以及内存溢出分析

查看内存使用情况

查看内存中对象数量及大小

将内存使用情况dump到文件中

通过jhat对dump文件进行分析

通过MAT工具对dump文件进行分析

MAT介绍

MAT下载安装

MAT使用步骤 


jmap的使用以及内存溢出分析

查看内存使用情况

查看tomcat的内存使用情况:jmap -heap tomcat进程ID

①查看堆内存配置信息:

②查看堆内存使用情况:

查看内存中对象数量及大小

使用 jmap -histo 进程ID | more 查看对象数量及大小。在Linux系统中,可以使用管道 | more来一段一段地输出信息。Windows系统也可以使用。

使用 jmap -histo:live 进程ID | more 可以查看活跃的对象数量及大小:

将内存使用情况dump到文件中

dump下来的文件是二进制格式的。 

通过jhat对dump文件进行分析

将jvm的内存dump到文件中,这个文件是一个二进制的文件,不方便查看,这时我们可以借助jhat工具进行查看:

通过浏览器访问9999端口就可以访问到dump下来的文件信息了:

页面的最下方提供OQL查询链接:

查询链接  http://xxx:9999/oql/

OQL查询语句示例(可以通过OQL Help来查看一些语句示例):

如查询长度>=100 的字符串有哪些:

select s from java.lang.String s where s.value.length >= 100

可以看到长度大于1000的字符串是一些配置文件如web.xml之类的:

说明配置文件是以一个字符串的形式加载到内存中的。

通过MAT工具对dump文件进行分析

MAT介绍

MAT下载安装

双击运行:

MAT使用步骤 

使用步骤:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学亮编程手记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值