java内存分析工具

一、jmap

    1、查看java堆使用情况

          jmap -heap pid

    2、查看堆中对象数量、大小

          jmap -histo pid>D:/a.log

class name 解读
B代表byte 
C代表char 
D代表double 
F代表float 
I代表int 
J代表long 
Z代表boolean 
前边有[代表数组,[I 就相当于int[] 

对象用[L+类名表示  

    3、将内存使用情况输出到文件

    jmap -dump:live,file=D:/dump.bin,format=b 7340

    --live 代表还在生命周期内

 

二、jhat

     1、查看堆文件

          jhat -port 5000 D:/dump.bin

         有时你dump出来的堆很大,在启动时会报堆空间不足的错误,可以使用如下参数:

         jhat -J-Xmx512m <heap dump file>
三、使用jvisualvm
       
  1. grant codebase "file:${java.home}/../lib/tools.jar" {  
  2.    permission java.security.AllPermission;  
  3. };  
新建文件,命名为:java.policy
再在被需要监控的主机上运行:
  1. jstatd -J-Djava.security.policy=d:/java.policy -J-Djava.rmi.server.logCalls=true  

     3.1 使用cmd命令:jvisualvm --console suppress 可开启独立窗口

四、jstat

    4.1 jstat -gcutil [pid] [internal]  很实用,internal 是时间单位毫秒,每隔所烧秒钟输出一次jvm实例为pid的gc信息
S0: Survivor space 0 区已使用空间的百分比
S1: Survivor space 1 区已使用空间的百分比
E: Eden space 区已使用空间的百分比
O: Old space 区已使用空间的百分比
P: Perm space 区已使用空间的百分比
YGC: Young GC 的次数
YGCT: Young GC 所用的时间 单位秒
FGC: Full GC 的次数
FGCT: Full GC 所用的时间 单位秒
GCT: 用于垃圾回收的总时间 单位秒 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值