JDK自带内存及线程分析工具小记

查询、监控、分析Java应用程序的时候,我们关注的点主要集中在资源利用,比如CPU,内存,IO,线程等。其中内存以及线程的分析尤为常见。内存,是否有内存泄漏,各个区块内存分配是否大小合适。线程,数目是否合理,有没有死锁,运行状态如何。

jps -vl

jps是JDK提供的一个小工具,上面的命令会把操作系统里面的java应用都展示出来,显示PID,启动类或者JAR,VM参数。可以通过jps -help进一步了解详细信息。当然也可以用操作系统的netsat查询PID。下文提到的PID均为jps中得到的PID。

jinfo -flags PID

显示JVM的参数,包括显示设置的和系统默认的。比如所用的垃圾回收器,堆的最大值等。也可以用jinfo -sysprops PID来显示System.getProperties()的内容。

jstat -gc PID

显示JVM的各个内存区使用情况(容量和使用量),GC的次数和耗时。可以通过命令jstat -class PID查看class的加载情况。

jmap -dump:file=data.hprof PID

把JVM的堆dump出来,用更高级的分析工具进行分析。命令jmap -heap PID可以查看堆的配置信息和使用情况,也很有用。

jstack PID

查看线程运行情况,检测是否有死锁。

jconsole

JDK提供的一个可视化资源查看,监控工具。

jvisualvm

JDK提供的另外一个一站式资源查看,监控,管理工具。支持插件机制,可以自己安装插件,定制jvisualvm。常用的是Visual GC插件。也可以通过该工具dump JVM的堆。也可以导入已经dump出来的堆信息进行分析。

转自:http://blog.csdn.net/kimylrong/article/details/50970493

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值