簡體   English   中英

使用visualvm遠程分析neo4j

[英]remote profiling neo4j using visualvm

我正在嘗試使用VisualVM從本地筆記本電腦監控GC信息,並連接到運行ubuntu 16的遠程EC2實例上運行在Oracle JDK 8上的Neo4j(企業)應用程序。我能夠使用JMX連接進行連接,但問題是我無法查看VisualGC(插件)上的任何內容。 消息“此JVM不支持”。

基於此鏈接鏈接 ,我在遠程上運行了jstatd命令,但這並沒有解決問題。 接下來,查看此鏈接 ,我將jstatd作為neo4j用戶運行,因為這是運行Neo4j服務的用戶。 如果我以ubuntu用戶身份運行jstatd ,則以下命令可以正常工作,但不會在VisualGC上顯示任何數據。

sudo -u neo4j jstatd -p 8888 -J-Djava.security.policy=/home/ubuntu/tools.policy -J-Djava.rmi.server.hostname=neo4j_ip_address

neo4j用戶運行以上命令時neo4j此錯誤:

Could not create remote object access denied ("java.util.PropertyPermission" "java.rmi.server.ignoreSubClasses" "write") java.security.AccessControlException: access denied ("java.util.PropertyPermission" "java.rmi.server.ignoreSubClasses" "write")
        at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
        at java.security.AccessController.checkPermission(AccessController.java:884)
        at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
        at java.lang.System.setProperty(System.java:792)
        at sun.tools.jstatd.Jstatd.main(Jstatd.java:139)

這些是tools.policy文件的正確權限嗎?

-rwxr-xr-x 1 neo4j  adm    112 Mar 21 15:41 tools.policy

tools.policy的內容:

grant codebase "file:/usr/lib/jvm/java-8-oracle/lib/tools.jar" {
   permission java.security.AllPermission;
};

如何讓VisualGC在這種情況下工作? VisualVM是否有任何日志可以知道發生了什么? 我可以使用任何其他工具直觀地查看GC統計數據? 任何幫助深表感謝。 謝謝。

如果您嘗試使用完整路徑運行jstatd會發生什么?

sudo -u neo4j /usr/lib/jvm/java-8-oracle/bin/jstatd -p 8888 -J-Djava.security.policy=/home/ubuntu/tools.policy -J-Djava.rmi.server.hostname=neo4j_ip_address

暫無
暫無

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

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