如何使用 VisualVM 测量短期运行的 Java 应用程序的性能?
Posted
技术标签:
【中文标题】如何使用 VisualVM 测量短期运行的 Java 应用程序的性能?【英文标题】:How can I measure the performance of a short-running Java application with VisualVM? 【发布时间】:2016-03-19 01:46:05 【问题描述】:我有一个小型 Java 应用程序,它将一个大文件读入内存,进行一些处理并将一些结果打印到标准输出。它被捆绑为一个 jar 文件。
我想使用 Java VisualVM 测量应用程序的性能,包括内存和速度,但我似乎无法附加到 jar 的执行,因为它只运行大约 2 秒.
如何衡量这个短期运行的应用程序的性能?
【问题讨论】:
jmeter.apache.org-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=1044
。注意“y” - 这要求 JVM 挂起,直到附加调试器。
【参考方案1】:
您可以在 IDE 中使用 VisualVM 启动您的程序。 Eclipse 和 IntelliJ 具有 Visual VM 插件,这使得使用 Visual VM 启动程序变得非常容易,而无需在启动后连接到应用程序。我的理解是 Netbeans 有一个 VisualVM 所基于的集成分析器。
日食:https://visualvm.java.net/eclipse-launcher.html IntelliJ:https://plugins.jetbrains.com/plugin/?idea&pluginId=7115【讨论】:
【参考方案2】:您可以尝试启动分析器插件:
https://visualvm.java.net/startupprofiler.html
适用于 VisualVM 1.3.6 的 Startup Profiler 插件支持从本地 Java 5+ 应用程序启动时对其进行检测分析。在分析短期运行的进程时,它也很有帮助。
【讨论】:
以上是关于如何使用 VisualVM 测量短期运行的 Java 应用程序的性能?的主要内容,如果未能解决你的问题,请参考以下文章