网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > JAVA > 新手入门 > JDK > 利用JDK1.5新工具进行系统性能监测  

利用JDK1.5新工具进行系统性能监测

2007-03-15  作者:bitsCN整理  来源:陈朋奕和谢仍明的博客  点评 投稿 收藏

最近需要在 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 监控工具,可以在 http://java.sun.com/performance/jvmstat/ 下载)

  网管bitscn_com

部署过程描述如下: 网管bitscn_com

  网管bitscn_com

1.       在需要监测的机器(我这里是 Linux 机器)部署相关应用: 中国网管论坛bbs.bitsCN.com

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

网管u家u.bitscn@com

b)        正确设置 Java 的运行环境。 网管联盟bitsCN_com

c)         启动 jstatd 进程。 网管u家u.bitscn@com

命令如下: ./jstatd -J-Djava.security.policy=all.policy

网管联盟bitsCN_com

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

grant codebase "file:${java.home}/../lib/tools.jar" { 网管下载dl.bitscn.com

permission java.security.AllPermission;

网管联盟bitsCN@com

};

网管联盟bitsCN@com

然后重新启动 jstatd 进程。

中国网管联盟bitsCN.com

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

网管下载dl.bitscn.com

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

中国网管联盟bitsCN.com

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

中国网管论坛bbs.bitsCN.com

jps 172.25.1.24 // 远端机器的 IP 地址或名称 网管u家u.bitsCN.com

屏幕输入如下: 中国网管联盟bitsCN.com

13686 Jstatd 中国网管论坛bbs.bitsCN.com

14115 XXXJavaServer 中国网管论坛bbs.bitsCN.com

15117 Jserver 中国网管论坛bbs.bitsCN.com

b)        从上面可以看到远端机器的 Jstatd 进程已经启动起来了。我们就可以使用 jstat 对相关进程的具体情况进行查看。 网管下载dl.bitscn.com

Jstat 命令用法如下: 网管论坛bbs_bitsCN_com

jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]] 中国网管论坛bbs.bitsCN.com

解释如下: 网管u家u.bitsCN.com

Option 包括以下选项: 网管网www_bitscn_com

-class 网管联盟bitsCN@com

-compiler 网管论坛bbs_bitsCN_com

-gc

网管u家u.bitscn@com

-gccapacity

网管网www.bitscn.com

-gccause

网管论坛bbs_bitsCN_com

-gcnew 网管联盟bitsCN_com

-gcnewcapacity 网管bitscn_com

-gcold 中国网管联盟bitsCN.com

-gcoldcapacity 网管网www.bitscn.com

-gcpermcapacity 网管网www.bitscn.com

-gcutil 网管论坛bbs_bitsCN_com

-printcompilation 网管联盟bitsCN@com

 

网管论坛bbs_bitsCN_com

Vmid 就是 jps 查看到的进程 id ,如上 Jserver 的进程 id 15117

网管bitscn_com

Interval 是时间间隔,单位为毫秒, 1000 就是一秒。 网管联盟bitsCN@com

Count 就是需要查看的次数。

中国网管论坛bbs.bitsCN.com

 

网管论坛bbs_bitsCN_com

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

网管u家u.bitscn@com

jstat -gc 15117@172.25.1.24 1000 3

网管网www.bitscn.com

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

网管网www.bitscn.com

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

网管u家u.bitscn@com

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

网管网www.bitscn.com

Linux 下: 网管u家u.bitsCN.com

/usr/java/jdk1.5/bin/java –Xbootclasspath/p:” /usr/java/jdk1.5/lib/tools.jar” –jar jvmstat/jars/visualgc.jar vmid@server 网管联盟bitsCN@com

Windows 下也一样,就是改改 jdk 的路径就好了。 网管u家u.bitscn@com

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


TAGs性能   监测   系统   进行   工具   利用   可以   进程   机器   如下    
 上一篇:JDK5 新特性之新的格式化输出   下一篇:没有了
利用JDK1.5新工具进行系统性能监测 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: