gpt4 book ai didi

java - JProfiler:无法检测远程 JVM

转载 作者:行者123 更新时间:2023-12-02 00:56:22 27 4
gpt4 key购买 nike

我正在 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 用户。

关于java - JProfiler:无法检测远程 JVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57815977/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com