【发布时间】:2011-05-25 00:09:54
【问题描述】:
据我所知,you can only profile a running application using VisualVM。
有人知道使用 VisualVM 分析 Java 应用程序的启动和启动的方法吗?
我相信一定有办法,否则将是一个重大的疏忽。
希望我只是误读了文档。
谢谢,p.
【问题讨论】:
据我所知,you can only profile a running application using VisualVM。
有人知道使用 VisualVM 分析 Java 应用程序的启动和启动的方法吗?
我相信一定有办法,否则将是一个重大的疏忽。
希望我只是误读了文档。
谢谢,p.
【问题讨论】:
我发现Startup Profiler 很有帮助:
VisualVM 1.3.6 的启动分析器插件启用检测 从启动时对本地 Java 5+ 应用程序进行分析。也是 在分析短期运行的进程时很有帮助。
【讨论】:
使用eclipse启动器,在main方法的适当位置设置断点。
然后,在调试模式下启动,在 visualVM 中启用分析,然后继续使用 eclipse。
这不会分析类加载和其他内容,但对我来说已经足够了。
【讨论】:
两种常见的 Java 开发环境 (NetBeans/Eclipse) 都支持直接使用附加的 VisualVM 执行应用程序。如果是 Eclipse,您必须安装 plugin。对于 NetBeans,支持已集成 AFAIK。
即使没有源,您仍然可以通过这两种环境运行 JAR 文件,从而启动与 VisualVM 连接的应用程序。
【讨论】:
您是否使用 `-Xrunjdwp" 命令行选项设置分析?如果是这样,该选项有一个 "suspend" parameter 用于此目的:
如果在加载主类之前立即挂起目标 VM,则为真;否则为假。
我自己的配置示例:
-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
我将它与 YourKit profiler 一起使用,但我认为原理是相同的。
【讨论】:
Xrunjdwp 的具体内容。我建议阅读它,看看你是否可以使用它。
-Xrunjdwp 没有帮助。见stackoverflow.com/questions/7096121/…