導航:首頁 > 編程語言 > 連接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相關的資料

熱點內容
網路電話如何安裝 瀏覽:928
iphone6ifile 瀏覽:190
linux查找大小超過5k文件 瀏覽:583
計量機構內審記錄包括哪些文件 瀏覽:959
目前網購app都有哪些 瀏覽:242
百度地圖json數據格式 瀏覽:101
編程和移動端哪個好學 瀏覽:563
struts2xml文件 瀏覽:457
下面哪個不是excel2010的數據類型 瀏覽:765
如果禁用分頁文件或者 瀏覽:191
雅奇可視化編程怎麼樣 瀏覽:831
包含文件名的文本框 瀏覽:799
spring工具類注入dao 瀏覽:788
香港買蘋果7哪裡便宜 瀏覽:121
win10gt540 瀏覽:813
什麼叫編程簡單點 瀏覽:10
怎麼上傳word文件到qq 瀏覽:590
netexcel導入代碼 瀏覽:231
pps緩存文件怎麼刪除 瀏覽:10
家裡網路在用怎麼檢測 瀏覽:419

友情鏈接