远程监控JVM

远程jstat Step by Step

1、  在机器上启动jstatd,一个daemon进程,更多解释见此链接

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.0.0.1

 

 

  

2、  做完步骤1,那可以说是万事具备了,很多问题都解决了,接下来在本地先看看远程机器上启动了多少个java进程   

    jps rmi://10.0.0.1

 

    2322 Main

    2321 Jstatd

 
  

 

 

 

 

可以看到这台机器上启动了两个java程序,一个是第一步我们启动的jstatd,另一个为jboss进程。

 

 

3、  看看heap的使用情况吧

            

 

参考:

  • jps - the Java Process Status Application
  • jstat - the Java Virtual Machine Statistics Monitoring Tool
  • jstatd - the jvmstat daemon

远程Thread Dump

1、  同上,需要在被dump的机器上启动jsadebugd(Debugger)

 

    jsadebugd 31042

   #31042为jps看到的pid,对应jboss的进程ID

 

 

  

 2、  在客户机上(需要linux系统,widnowsjdk无此功能)

  

   jstack 10.0.0.1   //可以为机器名或IP

 

 

 

   注意:本地和服务器上的jdk版本号必须一样。

参考:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值