java中jmx/jconsole/jstat/jmap的关系

JMX是java5开始提供的对java应用进行监控的一套接口。实现方式是在jvm内部起一个mbeanserver通过网络对外开放调用接口,这样外部就可以做应用监控或者类似远程方法调用。java默认实现了jvm的一些监控,比如堆内存使用情况(MemoryMXBean),线程情况(ThreadMXBean),gc情况等,外部程序可以直接使用,比如jconsole实际上就是对这些bean的包装,只是把返回结果可视化了。我们也可以针对自己的应用写一写MBean出来,然后开放给外部,这样可以做自己的应用监控,或者作为远程调用,比如加载配置文件,修改参数等。

在java5中,jvm启动时需要在命令行指定jmx才会启动,而java6默认就会启动jmx了。java6中jconsole可以通过pid进行jmx管理,内部有个把pid转化为jmx url的过程。

我们平时还会用到jstat,jmap等监控工具,这两个不是通过jmx调用实现的,而是直接在虚拟机原生支持的。比如jmap支持-F选项,在jvm不响应的时候还可以dump出内存来。


通过pid链接jmx:http://www.pongasoft.com/blog/yan/entry/connecting_to_a_local_vm/

http://stackoverflow.com/questions/5552960/how-to-connect-to-a-java-program-on-localhost-jvm-using-jmx

jmap的实现分析:http://blog.csdn.net/raintungli/article/details/7023092

java6中性能分析诊断工具:http://www.ibm.com/developerworks/java/library/j-java6perfmon/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值