• jstatd


    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

  • 相关阅读:
    [POJ2104]K-th Number(区间第k值 记录初始状态)
    [POJ2007]Scrambled Polygon(计算几何 极角排序)
    [POJ1269]Intersecting Lines (计算几何)
    [POJ2318]TOYS (计算几何 行列式(叉乘)+二分)
    [HDOJ1394]Minimum Inversion Number(线段树,逆序数)
    Codeforces Round #319 (Div. 2) C. Vasya and Petya's Game 数学题
    BZOJ 1934 [Shoi2007]Vote 善意的投票 最小割
    BZOJ 1055 区间DP
    HDU4267 树状数组 不连续区间修改(三维)
    HDU 3308 线段树单点更新+区间查找最长连续子序列
  • 原文地址:https://www.cnblogs.com/wjoyxt/p/4281674.html
Copyright © 2020-2023  润新知