JVM- jhat工具使用

导出堆 

进入cmd  输入jdk的bin目录 输入 jmap -dump:live,file=a.map 2524

a可以是随意起的堆名称  2524 是eclipse.exe进程PID。(可以用jps查询相关java进程)

查看jmap用法,cmd进入bin目录后输入jmap 会有提示,example 有例子。

分析堆文件

输入 jhat a.map 

jhat内置一个简单的web服务器,此命令执行后,jhat在命令行里显示分析结果的访问地址,可以用-port选项 指定端口

如果想指定内存和端口(dump出来的堆很大,在启动时会报堆空间不足的错误): jhat -J-Xmx512m -port 7200 a.map

 如果不指定端口的话 会提示 ...Start Http Server on port 7000,Server is ready

这时可以直接打开浏览器查看

http://localhost:7000/  这里看到所有的类

进入oql查询界面   http://localhost:7000/oql/ 

具体OQL用法可见:http://localhost:7000/oqlhelp/

 

注: 2524 是本地的eclipse.exe的pid

更多jmap 

查看更多的JVM内存状态   jmap -histo 2524 

导出文件如果写了可以只写名称,这样文件(可以是.map,.txt等)会默认的放到一个位置。也可以指定相应的位置。如jmap jmap -dump:file=c:\dump.txt 2524

分析也要写全路径  jhat -port 7300 c:\dump.txt

3 简单方式

 这样使用oql似乎太麻烦了,jvisualvm 更为方便  点击本地的监视,右侧有一个堆dump,点击进去就可以看到有一个oql的选项,这里可以直接输入oql语句,查询结果也相对好看了很多。

 jvisualvm可以指定oql,下次可以直接选之前保存的oql语句,同时也给出了很多的oql样例

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值