我有一个正在运行的应用程序服务器,并且已将 JProfiler jagent 连接到该服务器,以便我可以连接 JProfiler GUI 并观察性能。我已将以下内容添加到 JVM 参数列表
-agentpath:/exports/JProfiler/jprofiler8/bin/linux-x64/libjprofilerti.so=port=8849
但是,当我启动 glassfish 服务器时,我无法将 Jprofiler UI 附加到它。它给出错误“无法连接到:8849。请确保远程地址正确。”远程ip确实是正确的。我如何知道应用程序服务器是使用我提到的 JVM 参数启动的?有没有办法确认这一点?
最佳答案
一般来说,查看应用程序服务器的 stderr 输出。必须有一些行以 JProfiler>
为前缀。如果不是,则 -agentpath VM 参数未传递到 JVM。
在您的具体情况下,您没有附加“nowait”选项。这意味着 JVM 将在启动时等待来自 JProfiler GUI 的连接。如果应用程序服务器在没有连接 JProfiler GUI 的情况下响应 HTTP 请求,则 -agentpath VM 参数肯定不会传递到 JVM。
关于java - 如何确认 JProfiler 代理已连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24410626/