启动jstatd
命令jstatd是一个RMI服务程序,它的作用相当于代理服务器,建立本地计算机与远程监控工具的通信
[root@localhost config]# jstatd
Could not create remote object
access denied ("java.util.PropertyPermission" "java.rmi.server.ignoreSubClasses" "write")
java.security.AccessControlException: access denied ("java.util.PropertyPermission"
"java.rmi.server.ignoreSubClasses" "write")
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:372)
at java.security.AccessController.checkPermission(AccessController.java:559)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.System.setProperty(System.java:783)
at sun.tools.jstatd.Jstatd.main(Jstatd.java:139)
这是因为jstatd没有足够的权限
在任意目录下创建一个文件,只要以.policy
结尾,这里为jstatd.all.policy
:
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
启动,默认端口是1099
:
[root@localhost config]# jstatd -J-Djava.security.policy=/opt/config/jstatd.all.policy
\-J-Djava.rmi.server.hostname=192.xxx.x.115 &
远程查看java进程:
C:\Users\Administrator>jps 192.xxx.x.115
10513 Main
8069 QuorumPeerMain
32394 Jstatd
31563 Main
8108 Main
8174 Main