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

这段时间,因为项目要上线,所以要进行压力测试,这就牵涉到要测试系统性能问题,查看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(在文档末尾加上自己的用户名和密码)testJmx 123456最后 copy一份访问权限文件到当前目录# cp /usr/java/jdk1.6.0_41/jre/lib/management/jmxremote.access jmxremote.access# chmod 700 jmxremote.access (如果文件不可写,这里是修改一下文件的权限了)# vi jmxremote.access在文档最后把

monitorRole   readonly

controlRole   readwrite

注释掉,然后把刚才添加的用户添加进去

testJmx readwrite


接下来就要配置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连接,输入用户名和密码就可以访问进行监控了。


转载于:https://my.oschina.net/duof/blog/631197

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值