性能测试-jvisualvm远程监控JVM虚拟机

当执行Java的jar包的时候执行如下代码:

java -jar -Djava.rmi.server.hostname=192.168.88.151 -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=8889 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dfile.encoding=UTF-8 -Dspring.profiles.active=dev community-0.0.1-SNAPSHOT.jar

参数解析

-Djava.rmi.server.hostname=192.168.88.151 // 主机地址
-Dcom.sun.management.jmxremote=true // 运行远程链接jvm虚拟机
-Dcom.sun.management.jmxremote.port=8889 // 远程链接jvm的端口
-Dcom.sun.management.jmxremote.ssl=false // 是否使用ssl加密传输
-Dcom.sun.management.jmxremote.authenticate=false // 是否需要认证

注意: -Dcom.sun.management.jmxremote.port=8889 // 远程链接jvm的端口,端口不能重复

本人用的是shell脚本 

#!/bin/bash

nub=8888
perpid=`netstat -tunlp|grep $nub |awk '{print $7}'`

if [ $perpid ];then
        #从后开始删除变量,删除到第一个/停止,赋值给apid
        apid=${perpid%/*}
        echo "获取 $nub 端口进程号:$apid"
        #杀死进程
        kill -9 $apid
        echo "杀死占用 $nub 端口进程(pid:$apid)"
else
        echo "没有进程占用 $nub 端口"
fi

java -jar -Djava.rmi.server.hostname=192.168.88.151 -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=8889 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dfile.encoding=UTF-8 -Dspring.profiles.active=dev community-0.0.1-SNAPSHOT.jar & >community.log 2>&1

 打开本地jdk的bin目录下的jvisualvm.exe文件

 右键远程,点击添加远程主机

 输入主机名

点击右键添加JMX连接

 

 输入端口点击确定

 jvm的参数

同时可以对内存、GC、类、线程进行监控

查看线程运行状态:

 

 查看对象实例化状态:

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值