亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

教你如何通過JConsoler監控Tomcat的JVM內存

瀏覽:8日期:2023-03-19 16:51:41
目錄
  • 1.監控Tomcat的方式
  • 2.Java自帶的監控命令
  • 3.Tomcat故障案例
  • 4.配置Tomcat JMX監控
  • 5.使用Jsconsole連接JMX查看監控數據

通過JConsoler監控Tomcat的JVM內存

1.監控Tomcat的方式

  • 簡單命令
  • 現成腳本
  • 通過zabbix自定義監控

自定義監控 只要是用命令能得到的東西都能去監控

通過jmx 對java進行監控

  • 其他監控

通過ipmi 監控硬件的

通過snmp 監控網絡設備的,只要支持snmp都能監控

2.Java自帶的監控命令

  • jps 導出java相關的進程
  • 格式:jps -lvm
  • 參數選項:-lvm最詳細
[root@localhost ~]# jps -lvm7457 org.apache.catalina.startup.Bootstrap start start -Djava.util.logging.config.file=/application/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -Dcatalina.base=/application/tomcat -Dcatalina.home=/application/tomcat -Djava.io.tmpdir=/application/tomcat/temp7525 org.apache.catalina.startup.Bootstrap start start -Djava.util.logging.config.file=/application/tomcat_8082/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -Dcatalina.base=/application/tomcat_8082 -Dcatalina.home=/application/tomcat_8082 -Djava.io.tmpdir=/application/tomcat_8082/temp9144 sun.tools.jps.Jps -lvm -Denv.class.path=.:/application/jdk/lib:/application/jdk/jre/lib:/application/jdk/lib/tools.jar -Dapplication.home=/application/jdk1.8.0_60 -Xms8m7482 org.apache.catalina.startup.Bootstrap start start -Djava.util.logging.config.file=/application/tomcat_8081/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -Dcatalina.base=/application/tomcat_8081 -Dcatalina.home=/application/tomcat_8081 -Djava.io.tmpdir=/application/tomcat_8081/temp
  • jmap 導出jvm信息,常用于自定義監控
  • 格式:jmap pid
  • 參數:-heap
[root@localhost ~]# jmap -heap 7457Attaching to process ID 7457, please wait...Debugger attached successfully.Server compiler detected.JVM version is 25.60-b23using thread-local object allocation.Mark Sweep Compact GCHeap Configuration:   MinHeapFreeRatio = 40   MaxHeapFreeRatio = 70   MaxHeapSize      = 255852544 (244.0MB)   NewSize  = 5570560 (5.3125MB)   MaxNewSize       = 85262336 (81.3125MB)   OldSize  = 11206656 (10.6875MB)   NewRatio = 2   SurvivorRatio    = 8   MetaspaceSize    = 21807104 (20.796875MB)   CompressedClassSpaceSize = 1073741824 (1024.0MB)   MaxMetaspaceSize = 17592186044415 MB   G1HeapRegionSize = 0 (0.0MB)Heap Usage:			#監控的話關注這一列New Generation (Eden + 1 Survivor Space):   capacity = 12779520 (12.1875MB)   used     = 11689352 (11.147834777832031MB)   free     = 1090168 (1.0396652221679688MB)   91.46941356169872% usedEden Space:				#監控的話關注這一列   capacity = 11403264 (10.875MB)   used     = 11059616 (10.547271728515625MB)   free     = 343648 (0.327728271484375MB)   96.98640669899426% usedFrom Space:					#監控的話關注這一列   capacity = 1376256 (1.3125MB)   used     = 629736 (0.6005630493164062MB)   free     = 746520 (0.7119369506835938MB)   45.75718470982143% usedTo Space:				#監控的話關注這一列   capacity = 1376256 (1.3125MB)   used     = 0 (0.0MB)   free     = 1376256 (1.3125MB)   0.0% usedtenured generation:				#監控的話關注這一列   capacity = 28164096 (26.859375MB)   used     = 18313224 (17.46485137939453MB)   free     = 9850872 (9.394523620605469MB)   65.02329774760035% used21146 interned Strings occupying 1882520 bytes.
  • jstatck 導出java的進程信息,常用于java程序故障,需要導出線程信息與開發一起研究
  • 格式:jstack -l pid

[root@localhost ~]#? jstack -l 7457

3.Tomcat故障案例

系統負載高,tomcat占用CPU較高

  • 1.jps/top/htop精確確定哪個java進程導致
  • 2.jstack導出java線程
  • 3.catalina.out日志分析
  • 4.jmap導出jvm信息,可以通過mat工具進行分析

4.配置Tomcat JMX監控

  • 自定義監控:直接在tomcat服務器上寫好腳本,在zabbix配置文件寫好就行
  • 首先需要在zabiix服務端安裝zabbix-java-gateway然后在tomcat服務器開啟監控功能
  • tomcat開啟jmx監控功能
#修改bin/catalina.sh[root@localhost tomcat]# vim bin/catalina.sh#注意不能分行寫會報錯找不到命令,要寫在一行上CATALINA_OPTS="$CATALINA_OPTS"-Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.port=12345-Dcom.sun.management.jmxremote.authenticate=false-Dcom.sun.management.jxmremote.ssl=false-Djava.rmi.server.hostname="192.168.81.210"#正確寫法CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jxmremote.ssl=false -Djava.rmi.server.hostname=192.168.81.210"#說明CATALINA_OPTS="$CATALINA_OPTS"		#修改tomcat啟動參數-Dcom.sun.management.jmxremote		#開啟tomcat遠程管理功能-Dcom.sun.management.jmxremote.port=12345	#遠程管理功能,除了12345端口,還會生成2個隨機端口,我們可以開放所有端口Dcom.sun.management.jmxremote.authenticat=false			#是否在監控時需要認證-Dcom.sun.management.jmxremote.ssl=false	#是否開啟ssl連接-Djava.rmi.server.hostname="192.168.81.210"		#設置tomcat所在服務器的ip配置完成后重啟tomcat即可使用ps命令可以看到輸出的信息多了我們寫入的幾行[root@localhost tomcat]# ps aux | grep javaroot      17786  5.7 10.6 2306592 105860 pts/1  Sl   15:52   0:08 /application/jdk/bin/java-Djava.util.logging.config.file=/application/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources-Dorg.apache.catalina.security.SecurityListener.UMASK=0027-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jxmremote.ssl=false -Djava.rmi.server.hostname=192.168.81.210 -Dignore.endorsed.dirs= -classpath /application/tomcat/bin/bootstrap.jar:/application/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/application/tomcat -Dcatalina.home=/application/tomcat -Djava.io.tmpdir=/application/tomcat/temp org.apache.catalina.startup.Bootstrap start使用ss/netstat 命令可以看到多出啦的三個端口[root@localhost tomcat]# ss -lnptu | grep javatcp    LISTEN     0      100      :::8080 :::*   users:(("java",pid=17786,fd=56))#我們制定的tcp    LISTEN     0      50       :::12345:::*   users:(("java",pid=17786,fd=22))#隨機的1tcp    LISTEN     0      50       :::46272:::*   users:(("java",pid=17786,fd=21))#隨機的2tcp    LISTEN     0      50       :::46081:::*   users:(("java",pid=17786,fd=24))tcp    LISTEN     0      1      ::ffff:127.0.0.1:8005 :::*   users:(("java",pid=17786,fd=65))

5.使用Jsconsole連接JMX查看監控數據

到此這篇關于教你如何通過JConsoler監控Tomcat的JVM內存的文章就介紹到這了,更多相關JConsoler監控Tomcat JVM內存內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: Tomcat
主站蜘蛛池模板: 久久99热国产这有精品 | 久久99国产精品久久欧美 | 91久久线看在观草草青青 | 亚洲国产最新 | 伊人蕉久中文字幕无码专区 | 日本一级毛片在线看 | 国产精品2020观看久久 | 一级特黄性生活大片免费观看 | 视频精品一区二区三区 | 美国一级大黄一片免费的网站 | 日本不卡高清免费v日本 | 亚洲黄色在线观看视频 | 亚洲精品久久久久久下一站 | 精品日韩在线视频 | 亚洲精品午夜aaa级久久久久 | 美国一级大黄一片免费网站 | 欧美制服丝袜在线 | 久久精品99成人中文字幕880 | 立即播放免费毛片一级 | 国产永久| 欧美精品一区二区三区免费 | 免费黄色网页 | 欧美久久精品一级c片片 | 欧美毛片a级毛片免费观 | 午夜黄色 | 国产精品免费视频能看 | 黄色三级日本三级 | 在线视频观看免费视频18 | 91极品尤物 | 黄色小视频免费网站 | a级日本乱理伦片免费入 | 国产一二三四五路线 | 日本韩国中文字幕毛片 | 欧亚精品一区二区三区 | 99久久精品视香蕉蕉er热资源 | 韩国一大片a毛片女同 | 免费精品99久久国产综合精品 | 国产成人精品久久一区二区三区 | 久久9966精品国产免费 | 外国黄色网 | 亚洲国产精品久久久久666 |