
visualvm支持在Linux和windows上启用图形界面监控jvm的资源,但是如何可以使我们在windows上监控到远程linux服务器资源,这还需要做一些配置,此文是在原文基础上做了更改的,希望对大家能有所帮助。
(1)首先要修改JDK中JMX服务的配置文件,以获得相应的权限:
进入$JAVA_HOME所在的根目录的/jre/lib/management子目录下,
a. 将jmxremote.password.template文件复制为jmxremote.password
b. 调整jmxremote.access和jmxremote.password的权限为只读写,可以使用如下命令
chmod 600 jmxremote.access jmxremote.password
c. 打开jmxremote.password文件,去掉
# monitorRole QED
# controlRole R&D
这两行前面的注释符号
(2)修改env.sh
打开env.sh文件,并在JVM的启动配置中添加如下信息:
JAVA_OPTS="-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=10.20.150.218 其他配置”
这几个配置的说明如下:
-Dcom.sun.management.jmxremote.port:这个是配置远程connection的端口号的,要确定这个端口没有被占用
-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false:这两个是固定配置,是JMX的远程服务权限的
-Djava.rmi.server.hostname:这个是配置server的IP的,要使用server的IP最好在机器上先用hostname –i看一下IP是不是机器本身的IP,如果是127.0.0.1的话要改一下,否则远程的时候连不上,目前我们的server上我已经都改好了
(3)Windows客户端配置
JDK 1.6版本自带visualvm,只需要进到bin目录下启动即可
启动后页面比较简洁,配置也很简单:
a. 点击左侧菜单的add Remote host,输入server的IP,然后再advanced settings里配置端口(注意这个端口要和server上的端口一致)
b. 右击刚才配置的IP,选择JMX connection方式,再次输入端口,就可以监视到JVM资源了
对于远程监控Linux主机系统CPU,内存使用情况,以前也使用了top等命令,但是最后还是觉得使用vmstat比较好.运行top命令获得系统CPU使用情况有两个缺点,
第一运行top命令,执行的shell语句相对复杂.
用top命令获得CPU使用情况的shell语句
top -b -n 2 | grep Cpu |sed 1d | awk '{print $5}' | cut -f 1 -d "."
第二:有时候系统峰值时间很短暂,容易造成误判.
注意:运行本例子,你还需要下载第三方ganymed-ssh2-build251beta1.jar,改软件主要用于通过ssh远程登录被监控主机.
ITjob上。看。的
用java的话,有两个方法:1.利用java直接调用shell命令查看cpu的参数(系统不同命令也不同)
类似代码:
可以查考http://aimer311.javaeye.com/blog/347908
2.利用软件linux下可以安装net-snmp实现远程和本地监控
具体方法的话比较负责你网上查查
因为不知道你的linux到底是什么系统所有我没法给你写命令
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)