java - 如何在分析器的同时启动 Java 应用程序?

标签 java jvm profiler visualvm jvisualvm

我试过了 VisualVMJVM Monitor到目前为止,他们都没有按照我的要求行事。我的程序的简短概要:我需要在 5 个以上的线程中测量具有亚秒级精度的快速应用程序。当我可以选择“开始分析”时,我的应用程序已经结束。作为一种解决方法,我将 System.in.read() 放在我的应用程序的末尾,但这意味着从读取开始的所有内容都是垃圾信息并且会扭曲一些测量值。

JVM Monitor 尤其应该在每个应用程序启动时自动开始分析,并嵌入到 Eclipse 中。

最佳答案

来自手册:http://www.jvmmonitor.org/doc/#How_to_monitor_app_that_runs_for_short_time

How can I monitor my application that runs only for very short time?

To monitor the application that runs for so short time that you cannot connect JVM Monitor,

Set a break point at point of interest, and run your application with debug mode.
Connect JVM Monitor to the application while stopped at break point.
Collect profiling data with JVM Monitor.

Note: If your application is started from outside Eclipse, you may specify the following option for your application to suspend until debugger is attached.

-agentlib:jdwp=transport=dt_socket,address=<port number>,server=y,suspend=y

关于java - 如何在分析器的同时启动 Java 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19282749/

相关文章:

java - Android Volley - 保留特定项目的缓存

java - 在单个进程中运行多个 Lagom 应用程序

java - 隐藏 Java 代理注入(inject)到 JVM 中

haskell - 内联函数仍然显示在 .prof 文件中

java - 逻辑OR和逻辑OR被java混淆了?

Java套接字连接异常问题(连接超时)

java - Pushing variables to Stack 和 Variables living in the Stack 的区别?

java - 在 for 循环中使用它之前将 str.length() 值存储在变量中是否在 Java 中有任何性能改进?

c# - 当调试器退出且没有调用堆栈时,用于跟踪 C# 崩溃的工具?

java - 开源 Java 分析器