根据面试问到关于jvm监控服务器cpu、mem,自己百度参考众家所长,配置通过jconsole监控linux的资源。配置过程如下:
1、首先进入linux的jdk安装目录,配置jmxremote.access和jmxremote.password文件,目录为:/usr/local/java/jdk1.6.0_29/jre/lib/management,备份jmxremote.password.template为jmxremote.password,在jmxremote.password文件后面添加自己的用户、密码;备份jmxremote.access文件,添加新的用户、读写权限
2、修改tomcat的catalina.sh文件,在# ----- Execute The Requested Command -----------------------------------------”后面添加CATALINA_OPTS="$CATALINA_OPTS -Djava.rmi.server.hostname=192.168.100.11(hostname) -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxrem
ote.port=12345(监控端口) -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true"
3、重启tomcat即可实现监控。启动jconsole,或者jvisualvm远程连接,采用JMX连接
jvisualvm采用jstatd模式启动,需要在linux的jdk目录下面添加文件:jstatd.all.policy内容为:
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
然后再linux上面启动该文件:jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.100.11 & 后台启动,启动保持can not bind,请查看jstatd对应的端口是否被占用,若占用需修改端口