這段時間,由於項目要上線,因此要進行壓力測試,這就牽涉到要測試系統性能問題,查看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鏈接,輸入用戶名和密碼就能夠訪問進行監控了。