【发布时间】:2014-01-21 12:25:02
【问题描述】:
尊敬的专家,
我有一个独立的 java 应用程序,想监视它创建的线程。我打算使用 JConsole 或 JVisualVM 之类的工具。但是,我无法将这些工具本地连接到我的 Java 应用程序。
我正在使用 Windows 机器。 JConsole 和 Java 程序在本地运行。我尝试使用以下 JMV 参数运行 Java 应用程序但没有成功:
java -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false LinkedListTest
当我尝试使用 JConsole 进行连接时,我的进程 ID 显示为灰色并出现以下消息:
- 注意:此进程上未启用管理代理
我想我应该能够将 JConsole 连接到一个独立的 Java 应用程序。任何想法我在这里想念的东西
感谢和问候
【问题讨论】:
-
试试这个:-Dcom.sun.management.jmxremote
-
感谢@edhamed 的建议。这没有帮助:java -Dcom.sun.management.jmxremote LinkedListTest
-
JVisualVM对于本地 Java 应用程序不需要这些命令行选项。如果管理代理尚未运行,它将通过附加 API 启动管理代理本身。只需启动JVisualVM并在提供的列表中双击右侧的 JVM。 -
JConsole 需要 -D ...正如@Holger 所说,JVisualVM 不需要。您可能还有其他问题。
标签: java windows multithreading monitoring