欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java虛擬機(jī)使用jvisualvm工具遠(yuǎn)程監(jiān)控tomcat內(nèi)存

 更新時(shí)間:2020年11月11日 12:03:04   作者:碼農(nóng)大衛(wèi)  
這篇文章主要介紹了Java虛擬機(jī)使用jvisualvm工具遠(yuǎn)程監(jiān)控tomcat內(nèi)存,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

  jdk中自帶了很多工具可以用于性能分析,位于jdk的bin目錄下,jvisualvm工具可以以圖形化的方式更加直觀的監(jiān)控本地以及遠(yuǎn)程的java進(jìn)程的內(nèi)存占用,線程狀態(tài)等信息。

一、配置tomcat

  在tomcat的catalina.sh文件開頭加上如下配置:

JAVA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.184.129 -Dcom.sun.management.jmxremote.rmi.port=9999"

  各參數(shù)含義:

  -Dcom.sun.management.jmxremote:是否支持遠(yuǎn)程JMX訪問,默認(rèn)true;

  -Dcom.sun.management.jmxremote.port:是JMX遠(yuǎn)程監(jiān)控端口號,需要在防火墻開放該端口;

  -Dcom.sun.management.jmxremote.ssl=false:表示是否對連接開啟SSL加密,默認(rèn)開啟;

  -Dcom.sun.management.jmxremote.authenticate=false :是否需要開啟用戶認(rèn)證,默認(rèn)開啟,如果開啟需要額外配置授權(quán)文件;

  -Djava.rmi.server.hostname=192.168.184.129:遠(yuǎn)程服務(wù)器的主機(jī)名;

  -Dcom.sun.management.jmxremote.rmi.port=9999:RMI端口號,JMX在遠(yuǎn)程連接時(shí),會隨機(jī)開啟一個(gè)RMI端口作為連接的數(shù)據(jù)端口,可以和JMX端口號相同。

二、配置主機(jī)名

  使用hostname -i命令查看主機(jī)名是否為外網(wǎng)訪問ip192.168.184.129:

[root@localhost bin]# hostname -i127.0.0.1 127.0.0.1

  發(fā)現(xiàn)是127.0.0.1,所以需要修改主機(jī)名為192.168.184.129。

(1)修改/etc/sysconfig/network文件

  原文件內(nèi)容為:

[root@localhost bin]# cat /etc/sysconfig/networkNETWORKING=yesHOSTNAME=localhost.localdomain

  修改HOSTNAME為192.168.184.129,即修改后內(nèi)容為:

[root@localhost bin]# cat /etc/sysconfig/networkNETWORKING=yesHOSTNAME=192.168.184.129

  修改后使用service network restart命令重啟網(wǎng)絡(luò)服務(wù)。

(2)修改/etc/hosts文件

  原文件內(nèi)容為:

[root@localhost bin]# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

  修改127.0.0.1為192.168.184.129,并刪除第二行ipv6的配置,即修改后文件內(nèi)容為:

[root@localhost bin]# cat /etc/hosts192.168.184.129 localhost localhost.localdomain localhost4 localhost4.localdomain4

  此時(shí)使用hostname -i命令再次查看主機(jī)名,已經(jīng)修改過來了

[root@localhost bin]# hostname -i192.168.184.129

三、配置防火墻

  配置防火墻開放9999端口,編輯/etc/sysconfig/iptables文件,加入-A INPUT -m state --state NEW -m tcp -p tcp --dport 9999 -j ACCEPT,然后service iptables restart重啟防火墻服務(wù)。

四、配置jvisualvm

  啟動tomcat后,在windows本地jdk安裝路徑bin目錄下找到j(luò)visualvm.exe,雙擊打開后左側(cè)顯示如下:

在“遠(yuǎn)程”上右鍵-->添加遠(yuǎn)程主機(jī)-->填寫主機(jī)名:

點(diǎn)擊確定后,遠(yuǎn)程選項(xiàng)下多了一條剛才添加的主機(jī)列表。右鍵-->添加JMX連接,如下圖,填入JMX遠(yuǎn)程連接端口號9999,并勾選“不要求ssl連接”:

點(diǎn)擊確定后,左側(cè)多了一條pid為6822的遠(yuǎn)程連接,6822是遠(yuǎn)程tomcat的pid:

雙擊該連接,在右側(cè)可以動態(tài)查看jvm的概覽信息,監(jiān)控CPU,java堆,元空間,類,線程等數(shù)據(jù):

五、常見問題

  在添加JMX連接的時(shí)候,經(jīng)常會出現(xiàn)如下報(bào)錯(cuò):

此時(shí)可以從以下幾個(gè)方向檢查:

(1)檢查tomcat應(yīng)用是否啟動,或者修改tomcat配置后是否重啟tomcat,確保9999端口處于監(jiān)聽狀態(tài),查看命令netstat -nl|grep 9999;

(2)檢查主機(jī)名是否和tomcat中配置的主機(jī)名相同,如果不同則按照第二步修改主機(jī)名;

(3)檢查RMI端口號端口號是否在防火墻進(jìn)行了配置,如果配置的RMI端口號和JMX端口號不一致,需要在防火墻配置RMI端口號允許訪問,如果沒有配置,則添加-Dcom.sun.management.jmxremote.rmi.port=9999配置RMI端口號。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java實(shí)現(xiàn)選課系統(tǒng)

    java實(shí)現(xiàn)選課系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)選課系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • Java異常處理UncaughtExceptionHandler使用實(shí)例代碼詳解

    Java異常處理UncaughtExceptionHandler使用實(shí)例代碼詳解

    當(dāng)一個(gè)線程由于未捕獲異常即將終止時(shí),Java虛擬機(jī)將使用thread . getuncaughtexceptionhandler()查詢線程的uncaughtException處理程序,并調(diào)用處理程序的uncaughtException方法,將線程和異常作為參數(shù)傳遞
    2023-03-03
  • Java中redisTemplate注入失敗NullPointerException異常問題解決

    Java中redisTemplate注入失敗NullPointerException異常問題解決

    這篇文章主要介紹了Java中redisTemplate注入失敗NullPointerException異常問題解決,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2023-08-08
  • Java 判斷字符串a(chǎn)和b是否互為旋轉(zhuǎn)詞

    Java 判斷字符串a(chǎn)和b是否互為旋轉(zhuǎn)詞

    本篇文章主要介紹了判斷字符串a(chǎn)和b是否互為旋轉(zhuǎn)詞的相關(guān)知識,具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-05-05
  • 在deepin上如何使用Fleet開發(fā)SpringBoot?3.0.0項(xiàng)目

    在deepin上如何使用Fleet開發(fā)SpringBoot?3.0.0項(xiàng)目

    這篇文章主要介紹了在deepin上使用Fleet開發(fā)SpringBoot?3.0.0項(xiàng)目的過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • Java?Maven構(gòu)建工具中mvnd和Gradle誰更快

    Java?Maven構(gòu)建工具中mvnd和Gradle誰更快

    這篇文章主要介紹了Java?Maven構(gòu)建工具中mvnd和Gradle誰更快,mvnd?是?Maven?Daemon?的縮寫?,翻譯成中文就是?Maven?守護(hù)進(jìn)程,下文更多相關(guān)資料,需要的小伙伴可以參考一下
    2022-05-05
  • 一文詳解如何配置MyBatis實(shí)現(xiàn)打印可執(zhí)行的SQL語句

    一文詳解如何配置MyBatis實(shí)現(xiàn)打印可執(zhí)行的SQL語句

    在MyBatis中,動態(tài)SQL是一個(gè)強(qiáng)大的特性,允許我們在XML映射文件或注解中編寫條件語句,根據(jù)運(yùn)行時(shí)的參數(shù)來決定SQL的具體執(zhí)行內(nèi)容,這篇文章主要給大家介紹了關(guān)于如何配置MyBatis實(shí)現(xiàn)打印可執(zhí)行的SQL語句的相關(guān)資料,需要的朋友可以參考下
    2024-08-08
  • Hibernate框架數(shù)據(jù)分頁技術(shù)實(shí)例分析

    Hibernate框架數(shù)據(jù)分頁技術(shù)實(shí)例分析

    這篇文章主要介紹了Hibernate框架數(shù)據(jù)分頁技術(shù),結(jié)合實(shí)例形式分析了Hibernate框架實(shí)現(xiàn)數(shù)據(jù)分頁的原理,步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-03-03
  • Kafka?Producer中的消息緩存模型圖解詳解

    Kafka?Producer中的消息緩存模型圖解詳解

    Kafka中消息是以Topic進(jìn)行分類的,生產(chǎn)者生產(chǎn)消息,消費(fèi)者消費(fèi)消息,都是面向Topic的,下面這篇文章主要給大家介紹了關(guān)于Kafka?Producer中消息緩存模型的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • SpringBoot基于數(shù)據(jù)庫實(shí)現(xiàn)定時(shí)任務(wù)過程解析

    SpringBoot基于數(shù)據(jù)庫實(shí)現(xiàn)定時(shí)任務(wù)過程解析

    這篇文章主要介紹了SpringBoot基于數(shù)據(jù)庫實(shí)現(xiàn)定時(shí)任務(wù)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12

最新評論