Jstatd

jstatd

jstatd 会开启一个 RMI 服务,供其他机器进行远程监控

参数

-nr     如果RMI注册中心没有找到,不会创建一个内部的RMI注册中心
-p      RMI端口,默认为1099
-n      RMI名称, 默认是 JStatRemoteHost
-J      传递JVM参数

例子

新建文件 jstatd.all.policy内容如下,给jstatd授予所有权限

grant codebase "file:${java.home}/../lib/tools.jar" {   
    permission java.security.AllPermission;
};

开启 jstatd 守护进程,开启后会有一个光标一直在闪,Ctrl + C 退出

jstatd -J-Djava.security.policy=jstatd.all.policy

绑定端口和设置名称

jstatd -J-Djava.security.policy=jstatd.all.policy -p 6789 -n rmiJstatsName

使用 jps 远程监控 假设 jstatd 的所在机器是 192.168.4.35

jps rmi://192.168.4.35:6789/rmiJstatsName

输出结果

11452 RemoteMavenServer
4440 Jstatd
10016 Launcher

使用 jstat 远程监控

jstat -gcutil 11452@192.168.4.35:6789/rmiJstatsName 500 10

打开日志输出

jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.logCalls=true

Read More