virualvm 监控 jvm应用

今天打开jvm本来想监控一下本机jvm应用的性能,突然发现一年前帮一个广告平台做性能优化的配置居然还能看到相关应用信息,该平台一天单表数据量大概500w左右,忙时上千万数据,采取mysql分库每天定期分表;
很多时候我们要对这种高并发的应用都要进行实时监控,一方面可以监控性能差的程序,另一方面及时发现程序运行异常信息;

使用jmx监控,jvm配置如下:

-Dcom.sun.management.jmxremote
-Djava.rmi.server.hostname=××××××××
-Dcom.sun.management.jmxremote.port=8000
-Dcom.sun.management.jmxremote.rmi.port=8000
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false

使用jvirualvm配置连接应用后,我们在jvirualvm(免费)可以看到如下信息:
在这里插入图片描述
我们还可以看到操作系统相关信息:
操作系统相关信息

线程执行的状态:
!线程执行状态
上图可以看到应用线程数量,可执行的大概情况。

如果要对java线程使用的方法监控,点击抽样器->cpu:
线程监控

上图我们可以看到方法执行时间,当然我们还可以对方法里面的执行树进行查看,如上图点击CPU->快照,得到下图一,图二:

图一
图二
这里可以看到一个线程大概都执行了那些方法,并且可以得知那些方法执行得比较慢。可以很好的监控程序性能,和一些问题程序。

还可以jvm内存对象进行监控,类似jvm命令 jmap -histo:live pid,点击内存->快照,得到下图一
图一
上图注意,可以对查询对象进行查询,上图查询com,该应用有大量活跃对象在运行。

以上就是jvirualvm的基本使用,其实jdk自带的工具挺多的,还有jconsole可以对mbean尽心查询并且修改,典型的,就是查看连接池配置,如druid,kafka,都可以通过jconsole查看配置,甚至修改配置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lyongq04

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值