如何自动将 JVisualVM 附加到短期程序?
Posted
技术标签:
【中文标题】如何自动将 JVisualVM 附加到短期程序?【英文标题】:How do I automatically attach JVisualVM to a short-lived program? 【发布时间】:2011-03-05 00:29:57 【问题描述】:简单地阅读教程和玩 JVisualVM,我可以手动将它附加到长时间运行的服务器或 Swing 应用程序,但我也想将它用于运行在一秒钟内的短程序。
我想我可以将我的程序块放在控制台上,附加 JVisualVM,然后按一个键让程序完成它的实际工作。有没有更简单的解决方法?
(这主要是出于我自己的好奇心,使用 JVisualVM 之类的精美 GUI 代替 -Xprof 或 HPROF 会很好)。
【问题讨论】:
how to profile application startup with visualvm的可能重复 【参考方案1】:如果您使用的是 eclipse,您可以在调试模式下使用“Stop in main”选项,并将以下几行作为参数添加到您的进程中
-Dcom.sun.management.jmxremote.port=<fixed_port_number>
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
一旦它以调试模式启动并阻塞,然后将 jvisualvm 附加到它,使用指定的端口号连接到进程。
【讨论】:
【参考方案2】:将suspend=y 添加到您的调试设置中。这将导致您的程序停止,直到附加了调试器/分析器。
【讨论】:
一些问题(***.com/questions/7096121/…) 表示挂起选项不起作用以上是关于如何自动将 JVisualVM 附加到短期程序?的主要内容,如果未能解决你的问题,请参考以下文章