简单地阅读教程并使用JVisualVM进行播放,我可以手动将它附加到长时间运行的服务器或Swing应用程序,但我也想将它用于运行时间短的程序。如何自动将JVisualVM附加到短期计划?
我想我可以让我的程序块在控制台上,附上JVisualVM,然后点击一个键让程序完成它的真实工作。有没有更简便的解决方法?
(这主要是为了我自己的好奇心,使用像JVisualVM这样的抛光GUI代替-Xprof或HPROF会更好)。
简单地阅读教程并使用JVisualVM进行播放,我可以手动将它附加到长时间运行的服务器或Swing应用程序,但我也想将它用于运行时间短的程序。如何自动将JVisualVM附加到短期计划?
我想我可以让我的程序块在控制台上,附上JVisualVM,然后点击一个键让程序完成它的真实工作。有没有更简便的解决方法?
(这主要是为了我自己的好奇心,使用像JVisualVM这样的抛光GUI代替-Xprof或HPROF会更好)。
如果你使用Eclipse,你可以使用“停止主”选项,在调试模式,并添加以下行作为参数传递给你的进程
-Dcom.sun.management.jmxremote.port=<fixed_port_number>
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
一旦开始在调试模式和街区,然后将jvisualvm附加到它,并使用指定的端口号连接到进程。
将suspend = y添加到您的调试设置中。这会导致程序暂停,直到连接了调试器/分析器。
一些问题(http:// stackoverflow.com/questions/7096121/profile-entire-java-program-execution-in-visualvm)表示暂停选项不起作用 – Kilokahn 2012-07-17 03:41:16
可能重复的[如何配置应用程序启动visualvm](http://stackoverflow.com/questions/4434860/how-to-profile-application-startup-with-visualvm) – 2011-03-05 00:46:57