使用jvisualvm监控远程Linux服务器上jar的jvm状态

使用jvisualvm监控远程Linux服务器上jar的jvm状态

最近使用nginx流媒体服务器进行视频转码拉推流时出现内存溢出的问题,用jdk自带的jvisualvm工具看了下本地环境也没啥问题,会定期释放内存,于是想看下程序在服务器上运行时的内存使用情况。

具体操作如下
1.在启动jar命令里加上几个参数:
-Djava.rmi.server.hostname=125.124.153.36 #需要监控的远程服务器的IP
-Dcom.sun.management.jmxremote #表示jvisualvm使用JMX进行远程连接
-Dcom.sun.management.jmxremote.port=1099 #jvisualvm远程连接要使用的端口,1099是默认的
-Dcom.sun.management.jmxremote.rmi.port=1099 #我的Linux服务器是CentOS,必须指定这个端口才能连接上
-Dcom.sun.management.jmxremote.authenticate=false #指定JMX是否启用鉴权(需要用户名,密码鉴权)
-Dcom.sun.management.jmxremote.ssl=false #指定JMX是否开启ssl

完整的启动命令例子:java -Djava.rmi.server.hostname=125.124.153.36 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.rmi.port=1099 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Xms1G -Xmx1G -jar xxx.jar > /mct/sdc/logs/xxx.log 2>&1 & tailf /mct/sdc/logs/xxx.log

2.去jdk的bin目录下打开jvisualvm工具,点击添加JXM连接按钮,在弹处框中填写刚才启动命令里的ip和port,点击连接就成了。
在这里插入图片描述
3.如果连不上,先看下网络通不通,本地终端执行: telnet 125.124.153.36 1099,要保证端口是通的,不通的话要开通1099端口。

完整的效果图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值