導航:首頁 > 編程語言 > 連接jstatd

連接jstatd

發布時間:2024-10-20 22:37:15

Ⅰ jvisualvm的使用

1.jvisualvm在安裝完jdk的時候就已經存在了,放在jdk安裝目錄bin下面

2.jvisualvm的使用

/usr/local/java/bin/jvisualvm & 

3.監控本地和監控遠程

1)監控本地:

標簽介紹:

概述:顯示的是該伺服器的啟動和系統參數,可以通過與伺服器的實際參數進行對比查看是否有內存溢出

監控:顯示的是當前系統的CPU、內存、類和線程的相關資源的使用情況。其中"堆mp"可以查看堆的詳細狀態,包括堆的概況,裡面所有的類,還能點進具體的一個類查看這個類的狀態。

線程:能夠顯示線程的名稱和運行的狀態,在調試多線程時必不可少,而且可以點進一個線程查看這個線程的詳細運行情況

抽樣器:(可針對cpu和內存進行抽樣監控)

2).遠程tomcat監控

1)修改修改 /{tomcat path}/bin/catalina.sh, 找到第一個沒注釋的JAVA_OPTS,在前面添加

2)將8099埠開放---->添加防火牆

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8099 -j ACCEPT

重啟防火牆---->/etc/init.d/iptables restart 

3)jvisualvm添加遠程tomcat監控

3)遠程java應用程序(非tomcat):

方法1:(在啟動的時候添加啟動參數)

nohup java -Dcom.sun.management.jmxremote 

-Dcom.sun.management.jmxremote.port=9005 

-Dcom.sun.management.jmxremote.authenticate=false 

-Dcom.sun.management.jmxremote.ssl=false 

-Djava.net.preferIPv4Stack=true 

-Djava.rmi.server.hostname=192.168.9.174  -jar monitor_tuning-0.0.1-SNAPSHOT.jar &

注意埠號9005要開放,添加防火牆 !

方法2:使用jstatd

1)在$JAVA_HOME/bin目錄下新建一個文件jstatd.all.policy(名稱隨意),內容如下:

grant codebase "file:/usr/local/java/lib/tools.jar" { 

   permission java.security.AllPermission; 

};

2)然後執行

 jstatd  -J-Djava.security.policy=jstatd.all.policy  -J-Djava.rmi.server.hostname=192.168.9.174  -p 1099  &

在jvisualvm裡面添加遠程主機 192.168.9.174,然後右鍵添加jstatd連接,埠默認。jvisualvm即可掃描出所有正在運行的JVM,點擊即可監控。

注意:此處需要添加防火牆(此處好多文章都沒有說關於防火牆的問題)

兩種方法比較:

1)jmx是jvm自身提供的一個標準的jmx管理功能,client支持度非常好,jvm監控工具基本上都會支持這種連接方式。而且只要配置幾個簡單的選項就可以使用了,不需要單獨啟動一個第三方的只用來監控連接的應用程序

2)jstatd是jdk提供的一個單獨的工具,一個主機只需要運行一個jstatd就可以監控主機上所有的java application,而因為jmx是集成在jvm中,如果主機上有多個java應用程序需要監控,需要每個java應用程序配置相應的jmx選項,而且遠程服務埠不能相同,client監控時也需要與每個java應用程序建立單獨的連接

3)java應用程序啟動時如果沒有配置相應的jmx選項,則在運行周期內都無法遠程監控應用程序,這可能會喪失定位問題的機會。而jstatd需要監控時,可以隨時運行並進行監控

4) 在jvisualvm中,只有通過jstatd連接才能使用visualGC插件功能

5)jstatd server的埠是隨機選擇的,在有些情況下可能無法使用。比如我司的辦公區域與生產區域之間網路設置了防火牆,只允許某個范圍的埠通過,這是公司級的,某個團隊無法修改防火牆策略。同時辦公區域也不能直接ssh訪問生產區域伺服器,必須經過一個relay,也不能使用jstatd over ssh的方式。個人覺得jstatd不能在啟動時顯示指定服務的埠是它的一個槽點

4.插件安裝:

參考文章:https://www.cnblogs.com/looyee/articles/11065093.html

Ⅱ 如何用VisualVM連接遠程Tomcat

1、設置Tomcat的JAVA_OPTS參數:
JAVA_OPTS="$JAVA_OPTS
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=9090
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=10.154.252.108"

此處IP填的是所在遠程機器的IP(hostname -i ),需要確保這個埠沒程序佔用。
可以直接把這個參數寫入到catalina.sh文件中。

2、添加JMX連接,並填入IP和剛剛設置的埠。

連接完成之後,監視、線程、概述選項卡可以正常顯示,也可以添加插件,選擇「工具 - 插件」。可以添加新的插件,此處我們添加了一個名叫 Visual GC 的插件,用於監控JVM 的垃圾回收情況。

4、美中不足的是, Visual GC 並不買賬,無法顯示。

Visual GC uses the jvmstat technology to gather data from the monitored application. This means that the monitored application must either run locally or there must be a jstatd agent up and running on the remote system. For remote applications added using the JMX connection you will only see the "Not supported for this JVM" message - there's no jvmstat available.
引用自:https://blogs.oracle.com/nbprofiler/entry/visual_gc_plugin_2_0
使用JMX監控的功能不支持Visual GC,需要以jstatd的方式來監控。

5、使用Jstatd方式關聯監控
Jstatd方法是利用後台的RMI守護進程來實現對遠程JVM的監控。啟動jstatd不復雜,
找到tomcat所在機器的Java目錄,在bin目錄下首先創建一個監控策略文件:
?

1
2
3
4

vi jstatd.all.policy
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};

把"${java.home}/../"替換成JAVA安裝目錄。然後執行如下命令啟動jstatd:jstatd -J-Djava.security.policy=jstatd.all.policy

查看jstatd是否啟動:
[root@vm-10-154-252-108 bin]# jps -l 127.0.0.1
8618 sun.tools.jps.Jps
7516 sun.tools.jstatd.Jstatd
15815 org.apache.catalina.startup.Bootstrap
7670 org.apache.catalina.startup.Bootstrap
21315 org.apache.catalina.startup.Bootstrap
21481 org.apache.catalina.startup.Bootstrap
11470 org.apache.catalina.startup.Bootstrap
15649 org.apache.catalina.startup.Bootstrap
15732 org.apache.catalina.startup.Bootstrap
21398 org.apache.catalina.startup.Bootstrap
11634 org.apache.catalina.startup.Bootstrap

5、刪除VisualVM之前對Tomcat的監控,添加「遠程主機」,輸入主機IP,通過「高級設置」可以看到遠程主機默認是jstatd方式監控的。

點擊確定,將會列出該機器上所有的可監控的Java程序,

找到我們需要監控的程序PID,雙擊:

Ⅲ 在新建虛擬機時出現問題

JConsole

JConsole 圖形用戶界面是一種符合 Java 管理擴展(JMX)規范的監視工具。JConsole 使用 Java 虛擬機 (Java VM) 的廣泛檢測來提供有關在 Java 平台上運行的應用程序的性能和資源消耗的信息。

使用方法 本地

Ⅳ JAVA7 32位如何下載

1、打抄開網路搜索Java7,選擇第一襲項進入下載的頁面:

Ⅳ 嘗試連接到gc配置不可用

連接到gc配置搏或不可用解決步驟如下。
1、首先修改遠程伺服器上java設置。
2、找到jdk下的/jre/lib/security/java.policy文件,打開此文件,在文件末尾的括弧前添加基稿伍permissionjava.security.AllPermission。後保存。
3、在jdk/bin目錄下運行命令窗口輸入:jstatd-J-Djava.security.policy=jstatd.all.policy-J-Djava.rmi.server.hostname=192.168.2.85-p2030,接著運行即可。
4、本地啟動VisualVM,在配置JMX時已經添加過伺服器節點,如果敬並配置正確,通常gc會自動檢測到jstatd連接並添加節點。

閱讀全文

與連接jstatd相關的資料

熱點內容
為什麼問卷星有的數據只有99 瀏覽:684
如何調數據儲存模式 瀏覽:609
超凡蜘蛛俠2蘋果版免費 瀏覽:110
蘋果6s放大器怎麼設置密碼 瀏覽:626
windows7怎麼沒有無線網路 瀏覽:917
5s蘋果手機錄像只有沙沙響的聲音 瀏覽:879
多張圖紙怎樣列印到一個pdf文件里 瀏覽:347
安裝cad2020出現無法定位inf文件 瀏覽:728
百度競價數據如何分析 瀏覽:965
ps文件發送第三方列印 瀏覽:547
linux命令界面顯示文件名 瀏覽:930
超級錄屏視頻在文件夾里不能播放 瀏覽:549
最簡單的編程軟體有哪些 瀏覽:14
博客簽到系統如何設計資料庫 瀏覽:639
論文怎麼設置目錄word 瀏覽:609
廣電網路dlna是什麼意思 瀏覽:12
js變數加下劃線 瀏覽:18
app開發工作是吃青春飯嗎 瀏覽:117
蘋果手機國家查詢 瀏覽:765
蘋果6照片刪了怎麼找回 瀏覽:399

友情鏈接