jconsole连接linux服务器查看JVM使用情况,服务器配置记录

来源:互联网 发布:oracle转mysql函数 编辑:程序博客网 时间:2024/06/16 07:18
这段时间,因为项目要上线,所以要进行压力测试,这就牵涉到要测试系统性能问题,查看JVM的使用情况是必不可少的,不然上生产后造成内存泄露就over了。服务器用的是阿里云的云服务器,预装的Centos,然后在本地用JDK自带的查看JVM使用情况工具jconsole来监控一下在高并发情况下JVM使用情况。 首先在配置服务器的JMX之前,在网上google的半天,看了一些文章后,觉得配置起来很简单,就是需要修改一下tomcat的启动文件就行了,所以就下手开始搞了。后来搞了半天竟然连不上,懊恼气愤之余,终于静下心好好看一下别人的文章,然后分析了一下,最后根据网上写的和自己的分析(这里主要参考http://my.oschina.net/7shell/blog/72054,写的确实很详细,大家也可以参考一下),终于是配好了。然后才发现原来好简单,觉得自己刚开始有点弱爆了,下面就把自己的配置记录一下,方便以后查看。 首先配置tomcat的conf文件夹下面的catalina.sh文件,这个地方有些同学就简单的配置了一下,并没有涉及到访问权限和密码的配置,感觉这样不太好,毕竟是服务器是吧,总不能让人乱连接,配个密码总是好点^_^,访问权限和密码文件怎么搞呢,所以需要从别处copy一份过来,我们从jdk的安装目录copy一份过来修改一下,主要是增加访问用户和设置密码用,这里我们把配置文件放在conf文件夹下面首先进入tomcat的conf目录下# cd /usr/local/tomcat/conf/ (这个是tomcat路径,根据自己tomcat安装路径吧)然后copy一份用户文件到当前目录# cp /usr/java/jdk1.6.0_41/jre/lib/management/jmxremote.password.templatejmxremote.password# chmod 700 jmxremote.password (如果文件不可写,就修改一下文件的权限了)# vi jmxremote.password(在文档末尾加上自己的用户名和密码)testJmx123456最后copy一份访问权限文件到当前目录# cp /usr/java/jdk1.6.0_41/jre/lib/management/jmxremote.access jmxremote.access# chmod 700 jmxremote.access (如果文件不可写,这里是修改一下文件的权限了)# vi jmxremote.access在文档最后把monitorRolereadonlycontrolRolereadwrite注释掉,然后把刚才添加的用户添加进去testJmxreadwrite接下来就要配置tomcat的配置文件了这里是修改一下catalina.sh文件#cd /usr/local/tomcat/bin/#cd vi catalina.sh然后找到下面这句话# ----- Execute The Requested Command -----------------------------------------在这句话上面加上下面这些配置文件,下面的配置文件及解释信息是直接拿过来的^-^ (参数意义依次是: -Dcom.sun.management.jmxremote 启用JMX远程监控 -Dcom.sun.management.jmxremote.port=9004 使用端口9004(可随意指定只要不冲突) -Dcom.sun.management.jmxremote.authenticate=true 远程连接需要密码认证 -Dcom.sun.management.jmxremote.ssl=false 不使用SSL(SSL我试了多次都没有配置成功:P 暂时不开启) -Dcom.sun.management.jmxremote.access.file=/usr/local/tomcat/conf/jmxremote.access 使用指定的JMX帐号授权文件 -Dcom.sun.management.jmxremote.password.file=/usr/local/tomcat/conf/jmxremote.password 使用指定的JMX帐号文件)所以说就是要把下面信息加入到配置文件中去# ----- JMX Config Start ----- JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=10207 -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.access.file=/usr/local/tomcat/conf/jmxremote.access -Dcom.sun.management.jmxremote.password.file=/usr/local/tomcat/conf/jmxremote.password"export JAVA_OPTS# ----- JMX Config End -----保存一下,然后启动tomcat就行可以用jconsole访问了最后如果访问还是连接不上的话,就可能是主机ip没有配置好,这时运行一下hostname -i,如果显示的是127.0.0.1,这就需要配置一个hosts文件了#vi /etc/hosts把里面的主机地址修改为:主机地址 localhost::1 localhost localhost.localdomain localhost6 localhost6.localdomain6主机地址 AY130509181338723805Z这样配置完全以后,就可以用jconsole连接,输入用户名和密码就可以访问进行监控了。
0 0
原创粉丝点击