java - 如何使用 JVM 参数了解线程生命周期

标签 java multithreading jvm monitoring

是否有任何 JVM 参数或配置可以打印 Java 中每个线程花费的时间?

我不可能进入每个 Servlet 并获取方法执行的开始/结束时间,然后打印差异。

请向我提出任何可以实现一次并反射(reflect)在整个应用程序中的好主意。

最佳答案

如果您想使用 JVM 命令行跟踪线程 Activity ,您可以使用 -Xrunhprof

例如:

java -Xrunhprof:file=dump.hprof,thread=y,monitor=y Main

然后看一下dump.hprof这个文件,虽然有点难读,但是可以得到准确的信息。

另请参阅:

java -Xrunhprof:help

如果您需要所有选项的列表。

希望对你有帮助。

关于java - 如何使用 JVM 参数了解线程生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9429028/

相关文章:

c++ - 使用 std::mutex、std::condition_variable 和 std::unique_lock

java - JVM CodeCache 区域中存储了哪些编译后的代码

java - 调试和正常执行模式之间的不同行为 - WeakReference 处理

multithreading - CompletableFuture 重用池中的线程

java - java中的线程池执行器只允许10个线程,一旦提交第11个线程,它就会给出异常,说已达到最大限制

java - JVM是根据操作系统还是CPU架构来开发的?

java - 使用模式在 Java 中重构重复代码

java - 使用带有 Java 的 Google Appengine 删除 .html 扩展名

java - JSONException : No value for error

java - 如何将 jFreeChart 添加到 jFrame 中的 jPanel?