利用jdk1.5的工具对远程的java应用程序进行监测 -凯发k8网页登录

mysql资料,java技术,管理思想,博弈论,ajax,xp极限编程,h.264,hevc,hdr
随笔 - 86, 文章 - 59, 评论 - 1069, 引用 - 0
数据加载中……

利用jdk1.5的工具对远程的java应用程序进行监测



   最近需要在
linux 系统上对 java 的应用系统进行监测,就用到了 jdk1.5 附带的工具 jps java virtual machine process status tool ,查看 jvm 进程状态的工具), jstat(java virtual machine statistics monitoring tool ,运行数据监测工具 ) 以及 jstatd jstat daemon 程序,利用 rmi 进行远程监控)。(建议可以使用 jvmstat 包,可视化的 jstat 监控工具,可以在 下载)

 

部署过程描述如下:

 

1.       在需要监测的机器(我这里是 linux 机器)部署相关应用:

a)         在你需要进行监测的机器上安装 jdk1.5 (狂晕一阵子),别倒下(这个部分就不多说了,因为如果这里还要解释的话,那我就晕了)。

b)        正确设置 java 的运行环境。

c)         启动 jstatd 进程。

命令如下: ./jstatd -j-djava.security.policy=all.policy

一般来说呢,这里是会出现问题的,那就是 permission 的问题了,还好, sun 的网站上给了相关的解决方法,方法如下,在 jdk/…/security/ java.policy 文件中添加下面的代码:

grant codebase "file:${java.home}/../lib/tools.jar" {

permission java.security.allpermission;

};

然后重新启动 jstatd 进程。

d)        完了,别让人乱动就好了,我经常是不小心就按 ctrl c 把程序关闭了。

2.       在客户端(监控者使用的机器)的操作:

a)         使用 jps 查看远端机器有哪些 jvm 进程在使用当中,命令如下:

jps 172.25.1.24 // 远端机器的 ip 地址或名称

屏幕输入如下:

13686 jstatd

14115 xxxjavaserver

15117 jserver

b)        从上面可以看到远端机器的 jstatd 进程已经启动起来了。我们就可以使用 jstat 对相关进程的具体情况进行查看。

jstat 命令用法如下:

jstat -

解释如下:

option 包括以下选项:

-class

-compiler

-gc

-gccapacity

-gccause

-gcnew

-gcnewcapacity

-gcold

-gcoldcapacity

-gcpermcapacity

-gcutil

-printcompilation

 

vmid 就是 jps 查看到的进程 id ,如上 jserver 的进程 id 15117

interval 是时间间隔,单位为毫秒, 1000 就是一秒。

count 就是需要查看的次数。

 

例子假设我们需要查看 172.25.1.24 机器 vmid 15117 gc 的情况,可以输入下面的命令:

jstat -gc 15117@172.25.1.24 1000 3

然后你能看到四行信息(一行为 title ,剩下的就是你要的信息了),仔细看看就可以发现很多信息的了(如果不明白,可以问我, 6-6 )。

c)         那么下面就开始配置可视化的监控包, jvmstat ,下载好了后,解压到任意目录。

执行 visualgc ,然后就可以看到可视化的监控窗口。不过,好像现在只提供 linux 下的 visualgc 的启动脚本,所以在 windows 下或者 linux 最好使用我下面提供的方式:

linux 下:

/usr/java/jdk1.5/bin/java –xbootclasspath/p:” /usr/java/jdk1.5/lib/tools.jar” –jar jvmstat/jars/visualgc.jar vmid@server

windows 下也一样,就是改改 jdk 的路径就好了。

成功执行后你就能看见一个 java 的监视窗口(样子还蛮专业的),这个时候就 可以开始监视了。

posted on 2007-03-14 13:50 benchensz 阅读(4023) 评论(4)  编辑  收藏

# re: 利用jdk1.5新工具进行系统性能进行监测  回复     

据说压力测试的时候用 visualgc 会 java 死机.
2007-03-14 14:22 | beansoft

# re: 利用jdk1.5新工具进行系统性能进行监测  回复     

确实是比较容易导致remote端的jvm crash,不过还好我还没遇见。:-)
2007-03-14 21:19 | 陈朋奕

# re: 利用jdk1.5的工具对远程的java应用程序进行监测[未登录]  回复     

把运行后得到的结果,有个贴图就好了,这样可以便于我们没做之前,可以先了解能得哪些信息.
2008-01-24 03:57 |

# re: 利用jdk1.5的工具对远程的java应用程序进行监测  回复     

能不能解释一下运行结果后信息中title的意义,谢谢!!!!!!
2008-08-14 09:03 |

只有注册用户后才能发表评论。


网站导航:
              
 
网站地图