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.template
jmxremote.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鏈接,輸入用戶名和密碼就能夠訪問進行監控了。
相關文章
相關標籤/搜索