内存分析

(1)查看目前虚拟机内各个区的内存占用情况,可以使用如下的命令

/opt/jdk/java/bin/jstat -gcutil -h3 $JAVA_PID 250 60

 

具体打印出的各个参数的意义可以google一下。

 

(2)查看某一天完整的内存随时间的变化情况,最好的办法是在jvm启动时里加上下面几个参数:

-verbose:gc -Xloggc:/home/admin/logs/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps

打印出的信息格式类似下面这样:

2010-05-17T11:16:17.017+0800: 261697.550: [GC [PSYoungGen: 491056K->17347K(493440K)]

1205158K->731961K(1554304K), 0.0424430 secs] [Times: user=0.09 sys=0.00, real=0.04 secs]

其中 1205158K->731961K 即表示经过本次gc,你总的内存由1205158K下降到731961K 。

 

(3)查看目前都是哪些对象占用了比较多的内存,可以执行下面的命令

/opt/jdk/java/bin/jmap -histo $JAVA_PID | head -n 10

 

表单里显示的占用最多内存的对象是char类型。

 

(4)对整个内存有个详细的了解,可以通过jmap把内存dump下来,然后使用mat打开查看。

/opt/jdk/java/bin/jmap -dump:format=b,file=dump.bin $JAVA_PID

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值