为什么我不能将 jvisualvm 附加到从 osx 内部启动的 tomcat 实例?

发布于 2024-11-04 05:57:26 字数 86 浏览 0 评论 0原文

我从 netbeans 内部启动 tomcat。我想监视该 tomcat 实例上的堆使用情况,因此我启动了 jVisualVM。但未列出该过程。有什么想法吗?

I'm starting tomcat from inside netbeans. I'd like to monitor the heap usage on that instance of tomcat so I fire up jVisualVM. However the process isn't listed. Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情徒 2024-11-11 05:57:26

您使用的是 Java 版本 6u24 吗?那么您可能会成为此错误的受害者,该错误将在 6u25 中修复(在简而言之,jVisualVM 找不到您的进程的 hsperfdata)。

否则,您必须通过 JMX 启用监控:

将以下 JVM 参数传递给 Tomcat:

-Dcom.sun.management.jmxremote.port=8888 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false

然后通过 File -> 添加远程进程到 jVisualVM添加 JMX 连接。您可以使用端口 8888 连接到进程

jVisualVM 还有一些其他问题,例如启动 jVisualVM 的用户需要与拥有您要监视的进程的用户相同(尽管,我不认为这是您的问题)。请参阅此处了解更多信息。

Are you using Java version 6u24? Then you may fall victim to this bug which will be fixed in 6u25 (in a nutshell, jVisualVM can't find your process' hsperfdata).

Otherwise, you have to enable monitoring via JMX:

Pass the following JVM parameters to Tomcat:

-Dcom.sun.management.jmxremote.port=8888 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false

Then add the remote process to jVisualVM via File -> Add JMX Connection. You can connect to the process using port 8888

jVisualVM has some other gotchas, e.g. the user starting jVisualVM needs to be the same as the user owning the process you want to monitor (although, I don't think this is your issue). See more here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文