【工具】连接Jconosle分析程序运行状况

 

1、启动程序的JAVA_OPTS里加入如下运行参数。

-Dcom.sun.management.jmxremote

-Djava.rmi.server.hostname=xxx.xxx.com 

-Dcom.sun.management.jmxremote.port=9999 

-Dcom.sun.management.jmxremote.ssl=false 

-Dcom.sun.management.jmxremote.authenticate=true

注:添加Java程序的运行参数的方式是多种多样的。

如果要分析的程序是通过eclipse运行的,可以通过Run configurations -> Arguments -> VM Arguments来设置。

如果要分析的程序是承载在Web中间件例如Tomcat上运行的,可以修改catalina.sh来加入。

如果是直接用java命令启动的程序,可以直接把这些参数跟在命令的尾巴上。

2、从远端(或者本机)启动jconsole。

在安装好JDK的情况下,直接在控制台输入jconsole。

然后、输入刚才配置的IP/端口/账号/密码,链接到刚才启动的需要分析的程序。

3、虚拟机内存。

如果系统频繁出现内存溢出的异常,这个选项卡对我们分析问题很有帮助。

当遇到java.lang.OutOfMemoryError的时候我们需要先确认内存溢出在哪个区域。(通常是heap space)

我们可以分开监控堆内存的三个区域 Eden space/ Survavior space/ Old Gen,进一步缩小范围来定位问题。

3、线程监控。

在线程选项卡中,我们可以看到当前程序中活跃线程的情况。结合刚才的内存分析,找出内存飙升时活跃的线程。

这个选项卡还提供了一个非常有用的功能:检测死锁,可以分析出多线程中设计不合理的点。

4、MBean

如果你的程序中预先埋好了MBean,这个选项卡可以调用MBean中提供的方法。

这个非常有用:比如,方法的返回结果可以为你提供更详细的系统运行信息。比如循环中当前有多少行数据在排队等待处理等等等。

至于MBean的使用,戳这里:https://blog.csdn.net/u013256816/article/details/52800742/

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值