监视和分析java程序性能

本文详述了使用Jconsole等工具监视和分析Java程序性能的方法,特别关注内存泄露问题及其解决策略。通过Jmap命令粗略查看堆情况,利用Jhat分析二进制堆转储,实现对内存泄露的精确定位与诊断。

监视和分析java程序性能

jconsole

在有内在泄露时,被回收的对象首先逐渐装满幸存者空间(Survivor Space),然后再装满终身对象空间(Tenured Generation).当这些更大的空间被装满时,应用程序的运行速度将变慢,因为将经常进行缓慢的全面垃圾收集操作。过多的垃圾收集活动也是内在泄露或Java虚拟机配置不当的典型标志。

Jconsole是检测内存泄露的极好工具。

如果泄露不容易发现,可用JMeter激发。

 

查看、识别出被泄露的类和对象工具

jmap 粗略地查看运行的应用程序的堆。

jmap -histo XXXX(PID)

这将列出每个类的对象实例数及这些实例所占用的总体内存空间大小,按空间大小排序。

获取运行中的Java应用程序的堆转储:

jmap -dump:file=dump.bin XXXX(PID)

另可用: -XX:+HeapDumpOnOutOfMemoryError启动应用程序,它将使虚拟机生成堆转储。

 

jhat分析二进制堆转储,并在本地端口启动一个web服务器,以供用户对堆转储进行交互分析和查询。

jhat -J-Xmx384m dump.bin


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值