打赏

星辰大海ゞ

That which does not kill us makes us stronger!

导航

jstatd - Virtual Machine jstat Daemon

jstatd 【options】

参数:options

  命令行参数,可以按任何顺序,但如果有多余的或者中有互斥的参数,最后制定的那个参数将有优先权

options:

  -nr 当一个存在的RMI Registry没有找到时,不尝试创建一个内部的RMI Registry   -p port RMI Registry将会被找到的端口,如果没有找到,而且-nr没有指定,则新建一个RMI Registry。默认为1099

  -n rminame remote RMI对象会被绑定到的RMI Registry的名字,默认的名字为JStatRemoteHost.如果多个jstatd服务在同一台机子上启动了,每个jstatd服务的对外的      RMI对象的名字可由该参数指定。这么做要求唯一的server name被包含在监控客户端的hostid和vmid串中。   -J 将参数传给被javac调用的java launcher。例如:-J-Xms48m设置了启动内存为48m,由-J传递java程序vm参数是一种惯例

Security

  jststd只能监控有适当的本地接入的JVM,因此jstatd进程必须用和目标jvm的相同的用户凭证。有些用户凭证,如unix系统下的root用户,有权限进入到系统里任何一个由   JVM启动的设备,用这种用户凭证启动的jstatd能够监控任何一个jvm,但会引入潜在的安全隐患。jstatd并不提供给任何一个远程客户端用户凭证,如此,运行一个jstatd    serve进程会将其有权限访问的jvm设备暴露给网络上的用户。这种暴露对用户来说并不受欢迎,在起订jstatd进程钱必须考虑本地安全策略。特别是在生产环境或者不安全    的网络中。如果没有安装其他的安全管理,并且要求指定一个安全策略文件,jstatd服务会安装一个RMISecurityPolicy。下面的策略将会允许jstatd服务在没有任何security   exception中运行:

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

  将以上内容保存到jstatd.all.policy的文件中,文件位置可任意。启动jstatd:

      jstatd -J-Djava.security.policy="xxxxx/jstatd.all.policy"   xxxxx代表的是绝对路径

 

远程监控:启动RMI服务样例:

(1)使用内部RMI Registry

jstatd -J-Djava.security.policy=all.policy  (默认端口为1099

(2)使用外部RMI Registry

a)使用默认值

rmiregistry&

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

b)使用2020端口

netstat -tulanp | grep 1099     查看1099端口是否被占用了,如果被占用,则需要选择其他端口来启动jstatd服务

rmiregistry 2020&

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

c)使用2020端口,使用rminame

rmiregistry 2020&

jstatd -J-Djava.security.policy=all.policy -p 2020 -n AlternateJstatdServerName

(3)RMI Registry已经启动,不创建内部RMI Registry

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

(4)RMI日志能力

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

而后在VisualVM中就添加远程连接,选择jstatd方式,就可以监控JVM的运行情况了。

 

远程监控tomcat服务:

JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=10201 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"

 而后在VisualVM中就添加远程连接,选择jmx方式,就可以监控tomcat的运行情况了

-------------------------------------------------------------------------------

好用的性能分析工具–VisualVM

下载地址:http://visualvm.java.net/download.html

插件安装

tools->plugin->Available Plugin 会有值得安装的插件,如:VisualGC JConsole

 

posted on 2015-02-09 15:26  星辰大海ゞ  阅读(354)  评论(0编辑  收藏  举报