JAVA 容器配置 JVM 監控


目前世面上較流行的JAVA容器工具有:tomcat,jboss,weblogic
在日常工作中,經常會遇到開發需要查看JVM相關信息,這時就需要開啟JVM。

一、tomcat

1 修改jdk認證配置文件

文件位於jdk/jre/lib/management/目錄下,該目錄下有

  • jmxremote.access //配置用戶認證相應權限
  • jxmremote.password //配置認證用戶名和密碼
  • management.properties //可配置相應端口,認證。此文件中的配置是使用此jdk相關JAVA程序,建議單獨配置在相應的JAVA容器內,使每個JVM監控分隔開來。

2 tomcat中添加相應的監聽端口和監聽ip

注意:端口不要沖突
文件: tomcat/bin/catalina.sh //在文件前部添加下面內容

~]# vim /tomcat/bin/caclina.sh
JAVA_HOME=/iyunwen/server/jdk  		//配置每個tomcat個的JAVA_HOME
JAVA_OPTS="-server -Xms3096m -Xmx4096m -XX:PermSize=256M -XX:MaxNewSize=128m -XX:MaxPermSize=512m -Djava.awt.headless=true -Dfile.encoding=UTF-8" //配置tomcat內存大小
CATALINA_OPTS="$CATALINA_OPTS -Djava.rmi.server.hostname=172.18.35.189 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9002 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true"
// 監聽的IP地址和端口,並開啟認證

3 重啟tomcat服務后,即可通過ip地址和端口進行監聽JVM相關信息了


二、jboss

1 修改jdk認證配置文件,同tomcat配置jdk

2 添加相應node中的監聽IP地址,端口。

jboss的相應配置文件位於node的run.conf文件

~]# vim /jboss/jboss-eap-4.3/jboss-as/server/node7081/run.conf
if [ "x$JAVA_OPTS" = "x" ]; then
   #JAVA_OPTS="-Xms512m -Xmx512m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dsun.lang.ClassLoader.allowArraySyntax=true"
   JAVA_OPTS="-Xms512m -Xmx6144m -XX:MaxNewSize=512m -XX:MaxPermSize=512m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dsun.lang.ClassLoader.allowArraySyntax=true -Dcom.sun.management.jmxremote.port=19910 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
fi
//這里修改了內存分配和JVM監控相關參數

3 重啟jboss,並使用jvm查看工具即可


##三、weblogic

1 登陸was控制台 http://192.168.1.137:9060/admin

2 在 Generic JVM arguments 中添加JVM監控參數

Servers -> Server Types -> WebSphere application servers -> server1 -> Java and Process Management -> Process definition -> Java Virtual Machine

-Djavax.management.builder.initial= -Dcom.sun.management.jmxremote 
-Djava.rmi.server.hostname=192.168.1.130   //服務端的IP地址,不寫可能會出現無法連接

添加完成后 -> apply -> save

3 修改weblogic中jdk相關文件

添加相應端口和認證

~]# vim /opt/IBM/WebSphere/AppServer/java/jre/lib/management/management.properties		//文件末尾添加如下配置。如不知道文件在哪的話,可以查看相關java進行中使用的jdk路徑中查找
com.sun.management.jmxremote.port=9002			//監聽端口
com.sun.management.jmxremote.authenticate=true	//開啟認證
com.sun.management.jmxremote.ssl=false			//ssl關閉

修改認證中的用戶名和密碼

~]# vim /opt/IBM/WebSphere/AppServer/java/jre/lib/management/jmxremote.password.template     //修改文件的帳號 密碼
monitorRole Java_Remote_Monitor
controlRole Java_Remote_Monitor

查看相關帳號權限

~]# vim /opt/IBM/WebSphere/AppServer/java/jre/lib/management/jmxremote.access
monitorRole   readonly				//只讀
controlRole   readwrite create	 javax.management.monitor.*,javax.management.timer.* unregister  	//可操作

最后重啟weblogic,並檢測相應端口是否可用

~]# ps -ef | grep java | grep -v grep | awk '{print $2}' | xargs kill -9 	//這種操作只有確定這台機器中只有這一個java程序時才能操作,否則就請仔細重啟相關服務

重啟服務
~]# /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/startServer.sh server1

查看端口
~]# netstat -ano | grep 19002		//端口正常啟用
tcp        0      0 :::19002                    :::*                        LISTEN      off (0.00/0/0)

##使用Java VisualVM 監聽服務 ![](https://images2018.cnblogs.com/blog/1202606/201808/1202606-20180829115112856-2016020268.png)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM