摘要:為了安全考慮有些服務器會被限制登錄本文介紹如何獲取遠程服務器上進程的運行狀態(tài)啟動服務在服務器端啟動服務后遠程的機器可以通過協(xié)議獲取服務器上程序的運行狀態(tài)在服務器上創(chuàng)建的授權文件假設文件路徑為內容如下如果你的目錄不是的話請改為正確的值接下來通
為了安全考慮, 有些服務器會被限制登錄. 本文介紹如何獲取遠程服務器上 Java 進程的運行狀態(tài).
啟動 jstatd 服務在服務器端啟動 jstatd 服務后, 遠程的機器可以通過 rmi 協(xié)議獲取服務器上 Java 程序的運行狀態(tài).
在服務器上創(chuàng)建 jstatd 的授權文件, 假設文件路徑為/etc/jstatd.all.policy, 內容如下:
grant codebase "file:/usr/local/java/lib/tools.jar" { permission java.security.AllPermission; };
如果你的JAVA_HOME目錄不是/usr/local/java的話, 請改為正確的值.
接下來通過以下命令啟動 jstatd 服務:
jstatd -J-Djava.security.policy=/etc/jstatd.all.policy -p 12345
需要注意的地方有:
授權文件的路徑需要改成你自己的, 最好使用絕對路徑.
-p參數(shù)指定 jstatd 服務監(jiān)聽的端口. 如果不指定的話, 默認的端口為 1009. 不過從我自己的實踐來看, 最好還是設定一個比1024大的端口號.
遠程使用jps, jstat命令在服務器上啟動 jstatd 服務之后, 就可以在自己的機器上查看服務器上運行的 Java 進程了. 假設服務器的IP為 192.168.2.37, jstatd 服務監(jiān)聽的端口號為 12345.
首先通過 jps 命令獲取服務器上運行的 Java 進程列表:
jps -l rmi://192.168.2.37:12345
拿到 Java 進程的 pid 列表之后, 可以通過 jstat 命令獲取某個進程的 GC 信息:
jstat -gcutil rmi://39939@192.168.2.37:12345 1000 1000
其中 39939 表示 Java 進程的pid.
遠程使用 VisualVM 監(jiān)控 Java 應用通過VisualVM, 可以在圖形面板上看到很多 Java 應用的信息, 相當于多個命令(jps, jstat, jstack, jmap, jinfo)的集合.
VisualVM 是一個圖形應用, 只能運行在本機, 然后通過遠程連接, 獲取服務器上的 Java 應用的信息.
通過 $JAVA_HOME/bin/jvisualvm 命令啟動 VisualVM, 點擊下圖的紅框部分, 輸入要連接服務器的IP地址:
然后右鍵點擊服務器地址, 可以看到能夠通過2種方式連接服務器, 分別是 jmx 和 jstatd.
按照上述的步驟在服務器上啟動 jstatd 服務后, 就能夠以 jstatd 的形式連接到遠程服務器了.
VisualVM 通過 jstatd 連接的方式能夠獲取的信息比較有限. 如果想獲取更完整的 Java 應用信息, 可以通過 jmx 的方式連接服務器上的 Java 進程. 需要在啟動 Java 應用的時候, 指定以下和 jmx 相關的參數(shù):
-Djava.rmi.server.hostname=10.11.2.139 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=9090
java.rmi.server.hostname參數(shù)指定ip或者host, com.sun.management.jmxremote.port參數(shù)指定 jmx 監(jiān)聽的端口.
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/64200.html
摘要:實際開發(fā)中案例操作通信業(yè)務需求多進程通信應用服務端某客戶端調試工具。當服務端和客戶端位于同一個進程時,方法調用不會走跨進程的過程,當兩者處于不同晉城市,方法調用走過程,這個邏輯由的內部代理類完成。 目錄介紹 1.問題答疑 2.Aidl相關屬性介紹 2.1 AIDL所支持的數(shù)據(jù)類型 2.2 服務端和客戶端 2.3 AIDL的基本概念 3.實際開發(fā)中案例操作 3.1 aidl...
摘要:監(jiān)控和故障處理工具顯示指定系統(tǒng)內所有的虛擬機進程用于收集虛擬機各方面的運行數(shù)據(jù)。的常用功能選項測試上面輸出了我正在運行程序的包名下的類名虛擬機統(tǒng)計信息監(jiān)視工具使用于監(jiān)視虛擬機各種運行狀態(tài)信息的命令行工具。 《深入理解Java虛擬機:JVM高級特性與最佳實踐(第二版》讀書筆記與常見面試題總結 本節(jié)常見面試題(推薦帶著問題閱讀,問題答案在文中都有提到): JVM調優(yōu)的常見命令行工具有哪些?...
閱讀 591·2021-11-22 14:45
閱讀 3083·2021-10-15 09:41
閱讀 1579·2021-10-11 10:58
閱讀 2806·2021-09-04 16:45
閱讀 2617·2021-09-03 10:45
閱讀 3247·2019-08-30 15:53
閱讀 1231·2019-08-29 12:28
閱讀 2143·2019-08-29 12:14