jvm定位内存过高

第一步:采用jstat命令,查看gc情况

[root@agx Data]# jstat -gccause 5947 2000
  S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT    LGCC                 GCC
  0.00  41.67  72.78  75.99  53.50   3741   31.550     4    0.877   32.427 Allocation Failure   No GC
  0.00  41.67  78.74  75.99  53.50   3741   31.550     4    0.877   32.427 Allocation Failure   No GC
  0.00  41.67  78.74  75.99  53.50   3741   31.550     4    0.877   32.427 Allocation Failure   No GC

第二步:如果发现gc频繁,可以用jmap命令看看大概哪些class比较多,大致定位问题:

[root@agx Data]# jmap -histo 5947 | more

 num     #instances         #bytes  class name
----------------------------------------------
   1:         28964       31239848  [B
   2:        142016       17525784  [C
   3:         76447       11125808  <constMethodKlass>
   4:         76447        9797328  <methodKlass>
   5:          6934        8154944  <constantPoolKlass>
   6:          4574        7364336  [I
   7:          6934        5034312  <instanceKlassKlass>
   8:          5695        4464704  <constantPoolCacheKlass>
   9:        139010        3336240  java.lang.String

class name对应的就是Class文件里的class的标识
B代表byte
C代表char
D代表double
F代表float
I代表int
J代表long
Z代表boolean
前边有[代表数组,[I 就相当于int[]
对象用[L+类名表示

//todo 有待实践进一步完善



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值