zoukankan      html  css  js  c++  java
  • 远程监控JVM之一命令行(通过jstatd采集,jstat远程获取jvm运行数据)

    在被监测的服务器(远程机器)上需要启动一个daemon:jstatd
    1、远程机器启动jstatd
    1.1、首先需要准备一个java.policy文件,保存到如/home/admin/jstatd.java.policy
    grant codebase "file:${java.home}/../lib/tools.jar" {
    permission java.security.AllPermission;
    };
    1.2、启动jstatd(通过如下命令行启动)
    jstatd -J-Djava.security.policy=/home/admin/jstatd.java.policy -J-Djava.rmi.server.logCalls=true
    1.3、 同时需要执行一个命令看看(linux需要)
    Hostname –i
    如果显示是127.0.0.1,则需要修改/etc/hosts文件,去掉对本机名的配置,让本机名解析到它的IP地址,如10.20.131.214
    2、 做完步骤1,那可以说是万事具备了,很多问题都解决了,接下来在本地先看看远程机器上启动了多少个java进程
    [appdeploy@cnsz22vl2175 ~]$ jps rmi:10.202.37.75
    92144 start.jar
    18883 start.jar
    81301 start.jar
    24091 Jps
    18541 start.jar
    21550 Jstatd
    可以看到这台机器上启动了多个java程序,一个是第一步我们启动的jstatd,其它为业务进程。

    在客户端侧执行

    3、  看看heap的使用情况吧

    C:\Users\01107252>jstat -gcutil 18883@10.202.37.75:1099 1000 1000
    S0 S1 E O M CCS YGC YGCT FGC FGCT GCT
    0.00 0.00 4.38 5.95 97.57 95.44 19 0.672 5 0.874 1.545
    0.00 0.00 4.38 5.95 97.57 95.44 19 0.672 5 0.874 1.545
    0.00 0.00 4.38 5.95 97.57 95.44 19 0.672 5 0.874 1.545
    0.00 0.00 4.38 5.95 97.57 95.44 19 0.672 5 0.874 1.545
    0.00 0.00 4.38 5.95 97.57 95.44 19 0.672 5 0.874 1.545
    0.00 0.00 4.38 5.95 97.57 95.44 19 0.672 5 0.874 1.545

    更多示例 :
    (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端口
    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

  • 相关阅读:
    Shiro 学习笔记(Realm)
    Shiro 学习笔记(Authentication)
    Shiro 学习笔记(基本结构)
    POI 示例(导入,导出)
    SpringBoot 整合POI
    解决使用drf-haystack报错ImportError: cannot import name get_count
    python实现冒泡排序和插入排序
    九大排序算法总结(转)
    Djaong 数据库查询
    django session 和cookie的设置,获取和删除
  • 原文地址:https://www.cnblogs.com/duanxz/p/2738831.html
Copyright © 2011-2022 走看看