从JMX 谈系统监控
?
jmx介绍:
http://en.wikipedia.org/wiki/Java_Management_Extensions 写道写道
<!--通过jmx实现对城市新闻实体对象缓冲池的监控、参数调整的功能,export 是将制定的bean暴漏给jmx,使其可以通过远程jconsole可以进行控制--><bean id="exporter" value-ref="cityNewsPoolMbean" /> </map></property></bean><!--可以让jconsole进行远程查看参数,修改参数bean对象,JikePoolMbean 是一个普通事java bean,里面是get**、set**方法--><bean id="cityNewsPoolMbean" ref="cityNewsClientObjectPool"/></bean>? 2.简单的测试项目完成后,将项目部署到jetty,启动jetty
到 JETTY_HOME 目录下,运行下面命令(在ubuntu下,上jetty后台运行):
nohup java -server -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=7080 ?-Dcom.sun.management.jmxremote -Xms1024m ?-jar start.jar>start.out 2>&1 &上面的命令启动7080为JMX的监控端口,同时加入了jvm时的其他参数,可根据个人需求对参数进行增减。使用sudo netstat -nlp|grep 7080 命令查看 是否启动成功3.使用本机jconsole监控JVM,调整系统参数配置
? ?在windows下运行 JAVA_HOME/bin/jconsole.exe ,创建一个远程连接,连接端口是7080,就会看到远程服务器JVM的内存信息,线程信息及cpu使用情况等? ?或者使用java visualvm ,运行 visualvm后添加 jconsole等插件即可,具体操作可以google一下。?
?