最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

教你如何通過JConsoler監(jiān)控Tomcat的JVM內(nèi)存

 更新時(shí)間:2021年11月23日 10:04:54   作者:Jiangxl~  
這篇文章主要介紹了教你如何通過JConsoler監(jiān)控Tomcat的JVM內(nèi)存,主要通過jmx 對(duì)java進(jìn)行監(jiān)控的方法,tomcat故障案例解析,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下

通過JConsoler監(jiān)控Tomcat的JVM內(nèi)存

1.監(jiān)控Tomcat的方式

  • 簡(jiǎn)單命令
  • 現(xiàn)成腳本
  • 通過zabbix自定義監(jiān)控

自定義監(jiān)控 只要是用命令能得到的東西都能去監(jiān)控

通過jmx 對(duì)java進(jìn)行監(jiān)控

  • 其他監(jiān)控

通過ipmi 監(jiān)控硬件的

通過snmp 監(jiān)控網(wǎng)絡(luò)設(shè)備的,只要支持snmp都能監(jiān)控

2.Java自帶的監(jiān)控命令

  • jps 導(dǎo)出java相關(guān)的進(jìn)程
  • 格式:jps -lvm
  • 參數(shù)選項(xiàng):-lvm最詳細(xì)
[root@localhost ~]# jps -lvm
7457 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/temp
7525 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/temp
9144 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 -Xms8m
7482 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 導(dǎo)出jvm信息,常用于自定義監(jiān)控
  • 格式:jmap pid
  • 參數(shù):-heap
[root@localhost ~]# jmap -heap 7457
Attaching to process ID 7457, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.60-b23

using thread-local object allocation.
Mark Sweep Compact GC

Heap 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:			#監(jiān)控的話關(guān)注這一列
New Generation (Eden + 1 Survivor Space):
   capacity = 12779520 (12.1875MB)
   used     = 11689352 (11.147834777832031MB)
   free     = 1090168 (1.0396652221679688MB)
   91.46941356169872% used
Eden Space:				#監(jiān)控的話關(guān)注這一列
   capacity = 11403264 (10.875MB)
   used     = 11059616 (10.547271728515625MB)
   free     = 343648 (0.327728271484375MB)
   96.98640669899426% used
From Space:					#監(jiān)控的話關(guān)注這一列
   capacity = 1376256 (1.3125MB)
   used     = 629736 (0.6005630493164062MB)
   free     = 746520 (0.7119369506835938MB)
   45.75718470982143% used
To Space:				#監(jiān)控的話關(guān)注這一列
   capacity = 1376256 (1.3125MB)
   used     = 0 (0.0MB)
   free     = 1376256 (1.3125MB)
   0.0% used
tenured generation:				#監(jiān)控的話關(guān)注這一列
   capacity = 28164096 (26.859375MB)
   used     = 18313224 (17.46485137939453MB)
   free     = 9850872 (9.394523620605469MB)
   65.02329774760035% used

21146 interned Strings occupying 1882520 bytes.
  • jstatck 導(dǎo)出java的進(jìn)程信息,常用于java程序故障,需要導(dǎo)出線程信息與開發(fā)一起研究
  • 格式:jstack -l pid

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

3.Tomcat故障案例

系統(tǒng)負(fù)載高,tomcat占用CPU較高

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

4.配置Tomcat JMX監(jiān)控

  • 自定義監(jiān)控:直接在tomcat服務(wù)器上寫好腳本,在zabbix配置文件寫好就行
  • 首先需要在zabiix服務(wù)端安裝zabbix-java-gateway然后在tomcat服務(wù)器開啟監(jiān)控功能
  • tomcat開啟jmx監(jiān)控功能
#修改bin/catalina.sh
[root@localhost tomcat]# vim bin/catalina.sh
#注意不能分行寫會(huì)報(bào)錯(cuò)找不到命令,要寫在一行上
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啟動(dòng)參數(shù)
-Dcom.sun.management.jmxremote		#開啟tomcat遠(yuǎn)程管理功能
-Dcom.sun.management.jmxremote.port=12345	#遠(yuǎn)程管理功能,除了12345端口,還會(huì)生成2個(gè)隨機(jī)端口,我們可以開放所有端口
Dcom.sun.management.jmxremote.authenticat=false			#是否在監(jiān)控時(shí)需要認(rèn)證
-Dcom.sun.management.jmxremote.ssl=false	#是否開啟ssl連接
-Djava.rmi.server.hostname="192.168.81.210"		#設(shè)置tomcat所在服務(wù)器的ip

配置完成后重啟tomcat即可
使用ps命令可以看到輸出的信息多了我們寫入的幾行
[root@localhost tomcat]# ps aux | grep java
root      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 命令可以看到多出啦的三個(gè)端口
[root@localhost tomcat]# ss -lnptu | grep java
tcp    LISTEN     0      100      :::8080                 :::*                   users:(("java",pid=17786,fd=56))
#我們制定的
tcp    LISTEN     0      50       :::12345                :::*                   users:(("java",pid=17786,fd=22))
#隨機(jī)的1
tcp    LISTEN     0      50       :::46272                :::*                   users:(("java",pid=17786,fd=21))
#隨機(jī)的2
tcp    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查看監(jiān)控?cái)?shù)據(jù)

在這里插入圖片描述

到此這篇關(guān)于教你如何通過JConsoler監(jiān)控Tomcat的JVM內(nèi)存的文章就介紹到這了,更多相關(guān)JConsoler監(jiān)控Tomcat JVM內(nèi)存內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Tomcat安裝shell腳本的方法步驟

    Tomcat安裝shell腳本的方法步驟

    本文主要介紹了Tomcat安裝shell腳本的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Tomcat部署web項(xiàng)目出現(xiàn)http狀態(tài)404未找到的詳細(xì)解決方案

    Tomcat部署web項(xiàng)目出現(xiàn)http狀態(tài)404未找到的詳細(xì)解決方案

    前兩天在往服務(wù)器上的Tomcat部署Web項(xiàng)目上栽了跟頭,給大家總結(jié)下,這篇文章主要給大家介紹了關(guān)于Tomcat部署web項(xiàng)目出現(xiàn)http狀態(tài)404未找到的詳細(xì)解決方案,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • tomcat多實(shí)例部署的項(xiàng)目實(shí)踐

    tomcat多實(shí)例部署的項(xiàng)目實(shí)踐

    Tomcat多實(shí)例是指在一臺(tái)設(shè)備上運(yùn)行多個(gè)Tomcat服務(wù),這些Tomcat相互獨(dú)立,本文主要介紹了tomcat多實(shí)例部署的項(xiàng)目實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-03-03
  • tomcat服務(wù)器宕機(jī)解決方案

    tomcat服務(wù)器宕機(jī)解決方案

    這篇文章主要介紹了tomcat服務(wù)器宕機(jī)解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Tomcat 7.0多端口配置詳解

    Tomcat 7.0多端口配置詳解

    這篇文章主要介紹了Tomcat 7.0多端口配置詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06
  • Linux下Tomcat8如何修改JVM內(nèi)存配置

    Linux下Tomcat8如何修改JVM內(nèi)存配置

    這篇文章主要介紹了Linux下Tomcat8如何修改JVM內(nèi)存配置問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Tomcat 請(qǐng)求資源[/XXX/]不可用問題的解決方法

    Tomcat 請(qǐng)求資源[/XXX/]不可用問題的解決方法

    Tomcat 請(qǐng)求的資源[/XXX/]不可用問題,通過正確路徑訪問(運(yùn)行代碼時(shí)候自動(dòng)打開瀏覽器訪問的路徑),和錯(cuò)誤路徑訪問,它的表現(xiàn)是不一樣的,本文就來介紹一下解決方法
    2023-11-11
  • 詳解將Web項(xiàng)目War包部署到Tomcat服務(wù)器基本步驟

    詳解將Web項(xiàng)目War包部署到Tomcat服務(wù)器基本步驟

    本篇文章主要介紹了詳解將Web項(xiàng)目War包部署到Tomcat服務(wù)器基本步驟,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Tomcat源碼解析之Web請(qǐng)求與處理

    Tomcat源碼解析之Web請(qǐng)求與處理

    這篇文章主要介紹了Tomcat源碼解析之Web請(qǐng)求與處理,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-05-05
  • 怎么減少本地調(diào)試tomcat重啟次數(shù)你知道嗎

    怎么減少本地調(diào)試tomcat重啟次數(shù)你知道嗎

    這篇文章主要為大家詳細(xì)介紹了怎么減少本地調(diào)試tomcat重啟次數(shù),使用Groovy,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01

最新評(píng)論

邵阳市| 裕民县| 和田市| 荆州市| 资溪县| 保康县| 云南省| 新龙县| 沙坪坝区| 岐山县| 蓬莱市| 滨海县| 灌阳县| 怀远县| 中超| 岐山县| 柳江县| 平和县| 保德县| 揭阳市| 平顶山市| 集安市| 始兴县| 静安区| 英德市| 大英县| 苏尼特左旗| 镇沅| 金秀| 永德县| 锦州市| 永州市| 永善县| 新营市| 乌兰县| 宾阳县| 象州县| 北票市| 泽州县| 青冈县| 睢宁县|