操作JDK1.5新东西举办系统机能监测
最近需要在 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/ 下载)
陈设进程描写如下:
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> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
表明如下:
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 [email protected] 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 [email protected]
在 Windows 下也一样,就是改改 jdk 的路径就好了。
乐成执行后你就能瞥见一个 java 的监督窗口(样子还蛮专业的),这个时候就可以开始监督了。