簡體   English   中英

通過jstadt在Java VisualVM中使用Visual GC進行遠程Tomcat

[英]Visual GC in Java VisualVM via jstadt for remote Tomcat

我正在嘗試使用Java VisualVM中的Visual GC可視化遠程Tomcat的內存布局。 在托管Tomcat的Linux服務器上,jstatd正在運行(包括tools.policy和正確的[-J] -Djava.rmi.server.hostname = [SERVER_IP],該文件也可以在Tomcat的jvm選項中找到) )。
從VisualVM到服務器/ jstatd的連接正常工作:

jvisualVM的連接樹

但是,我在Jstatd連接的“ 可視GC”選項卡中看到的只是Jstatd JVM本身的內存詳細信息,而不是Tomcat的數據。
編輯:在Tomcat連接的Visual GC選項卡中(prod apl01 jmx),系統提示我:“此JVM不支持”使用我們內部運行的系統進行測試,可以在此處獲得正確的數據。

遠程Tomcat使用其自己的用戶“ tomcat”運行。 也必須由該用戶啟動jstatd嗎? 還是我可能遺漏的另一個問題?

任何可行的替代方案,例如提供類似於以下內容的可視化效果的另一種可視化工具,都是絕對可以接受的。 我們也正在使用Yourkit ,但是在其中找不到類似於Visual GC易於理解的樣式的任何內容。
可視GC內存布局可視化

在對區域開發環境進行了更多研究和測試之后,我意識到我們對生產環境沒有正確的權限。 因此,我要求管理員將jstatd添加到sudoers列表中,並按預期工作:

sudo /usr/java/latest/bin/jstatd -J-Djava.security.policy=/home/empulse/tools.policy -J-Djava.rmi.server.hostname=[SERVER_IP]

在遠程服務器上創建策略,

vim /tmp/tools.policy

添加權限,

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

然后啟動jstatsd

jstatd -J-Djava.security.policy=/tmp/tools.policy -J-Djava.rmi.server.hostname=<public_ip>

您已經准備好在本地計算機上的VisualVM中使用Visual GC。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM