jvm远程监控

JVM图形化监控

1. 远程机器

需要简单配置并启动jstatd。方法比较简单,共两步:

  1. 在JAVA_HOME的bin目录下新建一个jstatd.all.policy的文件,文件内容为:
grant codebase "file:${java.home}/../lib/tools.jar" {
  permission java.security.AllPermission;
};

附件下载: jstatd.all.policy

  1. 进入JDK bin目录,执行:
nohup ./jstatd -J-Djava.security.policy=./jstatd.all.policy > /home/jstatd.log 2>&1 &
2. 本地主机

使用jvisualvm监控本地无需配置

3. 启动监控

windows 下 win+R 输入: jvisualvm
jstat 默认的端口是1099

jvisualvm里面可以添加插件,下载Visual GC插件等插件可以进行更丰富的监控。
完整插件查看地址: http://visualvm.java.net/pluginscenters.html

jstat监控无法查看更丰富的信息,如cpu占用率等指标,此时就需要启动jmx来实现。

4. jmx监控

使用java -jarjava -cp启动java程序时,添加如下参数可以开启jmx远程访问:

-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false

此时我们在windows下 win+R 输入: jconsole
打开后选择 远程连接 选项,输入IP和端口号: ip:9000 连接即可。

5. jstatd启用jmx

开启jstatd同时我们可以开启jmx,修改第一步中的启动命令为:

nohup ./jstatd -J-Dcom.sun.management.jmxremote -J-Dcom.sun.management.jmxremote.port=1100 -J-Dcom.sun.management.jmxremote.ssl=false -J-Dcom.sun.management.jmxremote.authenticate=false -J-Djava.security.policy=./jstatd.all.policy > /home/jstatd.log 2>&1 &

此时连接jvisualvm便可以看到Jstatd 程序自身的CPU占用率等jmx指标;同时如果服务器的其他程序使用第4步的方案的开启了jmx,此时在jvisualvm也可以查看其jvm的jmx指标。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值