Siv*_*iva 21 java jvm heap-dump
每个人都知道可以从正在运行的JVM获取堆转储.另一种可能吗?我们可以使用堆转储启动JVM吗?
我很长一段时间都在考虑这个问题.如果这是可能的话,它将解决大量时间并使支持工程师的思维变得容易.如果我们必须重新创建客户面临的一些罕见问题,它可以帮助您节省大量时间.[想象一下底层硬件和Java运行时是相同的,并且所有支持文件也存在于文件系统中的相应位置].
补充说明:执行此操作的意图不是在OOM发生时,而是在JVM启动后的任何给定点.
我认为您正在寻找Java Mission Control和Chronon DVR(商业)等工具。这些可以帮助您进行事件分析、事件收集和分析、时间旅行调试(如 chronon 所说)
根据他们的文档:
Java任务控制
Java Flight Recorder 和 Java Mission Control 共同创建了一个完整的工具链,以持续收集低级和详细的运行时信息,从而实现事后事件分析。Java Flight Recorder 是内置于 Oracle JDK 中的分析和事件收集框架。它允许 Java 管理员和开发人员收集有关 Java 虚拟机 (JVM) 和 Java 应用程序行为方式的详细底层信息。Java Mission Control 是一套先进的工具,可以对 Java Flight Recorder 收集的大量数据进行高效、详细的分析。该工具链使开发人员和管理员能够从本地运行或部署在生产环境中的 Java 应用程序收集和分析数据。从 Oracle JDK 7 Update 40 (7u40) 的发布开始
Chronon Recording Server的一些关键功能对您的情况很有用:
录制服务器专为一次运行数周或数月的长时间运行的服务器端应用程序而设计。如果录音太大,录音服务器将负责分割录音并清除旧录音。
无需查看冗长且稀疏详细的日志文件来调试程序。只需回放整个执行过程并准确查看程序中发生了什么。录制服务器使其能够在团队成员之间或跨多个团队共享不同计算机上的录制内容。
| 归档时间: |
|
| 查看次数: |
862 次 |
| 最近记录: |