2011-03-05 62 views
8

简单地阅读教程并使用JVisualVM进行播放,我可以手动将它附加到长时间运行的服务器或Swing应用程序,但我也想将它用于运行时间短的程序。如何自动将JVisualVM附加到短期计划?

我想我可以让我的程序块在控制台上,附上JVisualVM,然后点击一个键让程序完成它的真实工作。有没有更简便的解决方法?

(这主要是为了我自己的好奇心,使用像JVisualVM这样的抛光GUI代替-Xprof或HPROF会更好)。

+1

可能重复的[如何配置应用程序启动visualvm](http://stackoverflow.com/questions/4434860/how-to-profile-application-startup-with-visualvm) – 2011-03-05 00:46:57

回答

3

如果你使用Eclipse,你可以使用“停止主”选项,在调试模式,并添加以下行作为参数传递给你的进程

-Dcom.sun.management.jmxremote.port=<fixed_port_number> 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false 

一旦开始在调试模式和街区,然后将jvisualvm附加到它,并使用指定的端口号连接到进程。

2

将suspend = y添加到您的调试设置中。这会导致程序暂停,直到连接了调试器/分析器。

+0

一些问题(http:// stackoverflow.com/questions/7096121/profile-entire-java-program-execution-in-visualvm)表示暂停选项不起作用 – Kilokahn 2012-07-17 03:41:16