据我所知,you can only profile a running application using VisualVM。
有没有人知道使用VisualVM配置启动和启动java应用程序的方法?
我确信必须有办法,否则这将是一次重大的疏忽。
希望我只是误读了文档。
谢谢,p。
答案 0 :(得分:17)
使用eclipse启动器,并在main方法的适当位置设置断点。
然后,以调试模式启动,在visualVM中启用性能分析,然后继续使用eclipse。
这不会分析类加载和东西,但它对我来说已经足够了。
答案 1 :(得分:10)
您是否使用`-Xrunjdwp'命令行选项设置性能分析?如果是这样,该选项只有"suspend" parameter用于此目的:
如果要在加载主类之前立即挂起目标VM,则为true;否则为false。否则就是假的。
来自我自己的配置的示例:
-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
我在YourKit分析器中使用它,但我认为原理是一样的。
答案 2 :(得分:9)
我发现Startup Profiler有帮助:
VisualVM 1.3.6的Startup Profiler插件支持检测 从他们的创业公司分析本地Java 5+应用程序。也是 在分析短期运行流程时很有帮助。
答案 3 :(得分:0)
两种常见的Java开发环境(NetBeans / Eclipse)都支持直接使用附加的VisualVM执行应用程序。在Eclipse的情况下,您必须安装plugin。对于NetBeans,支持已经集成了AFAIK 即使没有源代码,您仍然可以通过两个环境运行JAR文件,从而启动与VisualVM连接的应用程序。