jstatd的启动方式与关闭方式
迪丽瓦拉
2024-05-27 01:35:10
0

启动方式与注意事项:

启动方式:

前台启动不打印日志:

jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=服务器IP

 前台启动并打印日志:

./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=服务器IP -J-Djava.rmi.server.logCalls=true

日志输出效果:

后台启动并且不打印日志:

./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=服务器IP &

后台启动并且不打印日志并指定端口:

./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=服务器IP -p 端口 -J-Djava.rmi.server.logCalls=true

后台启动且打印日志并指定端口:

./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=服务器IP -p 端口 -J-Djava.rmi.server.logCalls=true &

日志输出效果: 

注意事项:

如果你使用了指定端口的方法启动,jstatd启动后不只使用了你指定的那个端口,还会启动一个随机端口,所以实际上需要开放两个端口。

[root@xxx bin]# netstat -antup|grep jstatd
tcp        0      0 0.0.0.0:1099            0.0.0.0:*               LISTEN      18490/./jstatd
tcp        0      0 0.0.0.0:34476           0.0.0.0:*               LISTEN      18490/./jstatd 

 我们看到,jstatd启动后使用了1099和34476端口,所以这两个端口都需要开放。端口开放有两个地方需要检查,一是机器本身的防火墙端口开放,二是云服务器(如果有)的安全组策略。

关闭方式:

使用一下语句找到jstatd的pid

ps -ef | grep jstatd

 找到对应的pid(第一个数字是pid,后面的不是)后利用一下语句杀手对应的进程:

sudo kill -9 35189

再利用第一个语句查看对应进程又没被杀死,没有对应pid显示即表示成功。

参考文章地址:

本地jvisualvm通过jstatd远程监控GC

使用jvisualvm远程监控服务器上的jvm_jvisualvm远程监控jvm_行云墨客的博客-CSDN博客

相关内容