繁体   English   中英

JProfiler:无法检测到远程 JVM

[英]JProfiler: Cannot detect remote JVM

我在 Ubuntu 18.04 服务器上使用 OpenJDK 11 运行 Tomcat 9(作为用户tomcat )。 我希望能够将 JProfiler 11 附加到 Tomcat 进程。

过去,我只是使用了通过 ssh 连接到远程 JVM 的选项,而 JProfiler 会定位该进程。 在这台机器上,JProfiler 永远找不到 Tomcat 进程。

我尝试使用susudo选项切换到tomcat用户。 我什至直接以tomcat身份启用登录。 无论如何,JProfiler 都无法定位到 JVM 进程。

我认为这是因为/tmp/hsperfdata_tomcat文件夹是空的。 我已经设置了-XX:+UsePerfData即使它应该默认启用(尝试JAVA_OPTSCATALINA_OPTS ),但这并没有解决任何问题。 我检查了 tomcat 命令行,没有什么可以禁用UsePerfData 我还监视了该文件夹,以查看hsperfdata是否以某种方式填充但随后被删除 - 从未创建该文件。

如何在带有 OpenJDK 11 的 Ubuntu 18.04 上使用 Tomcat 9 启用分析?

更新:

使用jps -l -m作为tomcat运行不会返回任何输出。 然而,以root身份运行它确实列出了tomcat java 进程,尽管/tmp/hsperfdata_tomcat没有条目。

我刚刚遇到了这个确切的问题。 我无法看到 JVM 在 tomcat 用户下启动:在 jprofiler (11) 中,通过 sudo 切换到 tomcat 用户显示没有 JVM。

这是jprofiler上传的权限问题。 jpenable 上传到我的远程主目录下,tomcat 无法访问。

解决方案是:

  1. ssh 删除节点(与 jprofiler 将使用的用户相同)
  2. chmod 555 ${HOME}
  3. chmod 555 -R ${HOME}/.jprofiler11 Tomcat 用户需要访问同一目录下的${HOME}/.jprofiler11/agent/11082_11.0.2/jprofiler11/bin/jpenable和 jar 文件。
  4. 测试: sudo -u tomcat ${HOME}/.jprofiler11/agent/11082_11.0.2/jprofiler11/bin/jpenable

然后您就可以通过远程 ssh + sudo tomcat 将您的笔记本电脑 jprofiler 连接到该 tomcat 用户。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM