IBM的Java诊断,第1部分 - 编程入门网
发生或检测到的错误,但最终这些工具集将能够诊断在 VM 中运 行的 Java 应用程序或中间件中的各种错误和不正确的行为。发生这些错误有各种潜在的原因;它们通常 是由于应用程序或中间件代码中的缺陷或 JVM 选项的错误配置造成的。一般,通常检查应用程序或中间 件中各种数据结构的状态即可确定该状态的错误因素。
当前的问题诊断情况 如果没有像 Dump Analyzer 这样的工具,您通常会首先检查故障点处 VM 生成的产物, 从而开始诊 断问题。通常,它们是: 进程空间转储(系统转储或核心文件) Java 堆转储(堆转储) Java 进程快照(Javacore 文件) 显示某些执行历史记录的跟踪文件 通常,您应该使用每种特定格式的专门程序分别检查这些产物。那么确定问题的过程主要是手动检查 可用的信息。随着数据量的增加,该过程变得越来越费时,工作变得越来越专业。因此,客户通常不愿意 自己执行分析,而是依赖他们的 VM 或中间件供应商来执行该操作,但报告的大多数问题最终都被诊断为 应用程序、配置或环境问题,这些问题不需要对 VM 或中间件本身的代码进行任何更改。理想情况下,客 户可用的诊断功能将确保只将需要更改代码的缺陷报告给 VM 或中间件供应商。其他问题将使用 VM 生成 的相应产物自动进行诊断。 IBM的Java诊断,第1部分(3)时间:2011-11-02 IBM Helen BeekenDump Analyzer 概述 Dump Analyzer 是一个基于 Diagnostic Tooling Framework for Java(DTFJ;您将在本文的后面部 分进一步了解)的工具,设计为分析系统转储并查找各种类型的问题。该工具由很多小的分析模块组成, 这些模块查看特定的转储数据并确定是否存在特殊问题(例如,死锁)。该设计可以轻松容纳其他新功能 并且可以进行定制以查找特定问题。 该工具在两个级别运行: 每个具体的分析模块都尝试诊断一个特定的问题类型 并生成一个简单说明描述已发现的问题。 当不能进行诊断时,每个分析模块都会生成一个有关系统状态的某个方面的 详细报告。故障诊断专家 可以使用该报告, 也可以将该报告与其他信息结合使用以诊断问题。 为了进一步增加灵活性,使用简单脚本语言来控制分析流程。 我们的团队计划将来通过提供很多不同 的脚本来开发此实用工具。 下面是该工具的分析流程: 工具加载用户所选择的转储数据以创建用于进行进一步分析的图像。 用户根据该图像选择要运行的一个或多个分析模块;如果用户没有选择具体的分析器,则运行默认的 脚本。 运行分析模块。 每个模块返回控制更详细的分析流程的信息或将该信息生成一个报告。 所有模块都已完成其运行之后,将该报告格式化为 HTML 或文本文档。 如上所述,如果用户没有请求具体的分析模块,则该工具运行默认的脚本 (general.sml),该脚本运 行一组检查几种常见问题类型的分析器。如果这些问题都没有检测到,则脚本调用默认的报告,它介绍有 关生成转储时 VM 状态的某些常规信息。 在本文的后面部分,您将看到一个使用 Dump Analyzer 的示例,并大致了解一些可选的非默认的分析 模块。 使用 Dump Analyzer 所需的设置 所有 Dump Analyzer 所需的就是运行格式化的系统转储。系统转储在 VM 崩溃时默认发生;但是可以 配置 VM 以创建在其他故障情况下的转储或用户请求时的转储。 若要格式化系统转储,您需要针对其运行 jextract 工具。在生成转储的相同机器上使用相同的 VM, 只需运行以下命令行: jextract "corefilename" 借助 1.4.2 级别的 VM,该命令生成一个 .sdff 文件;在版本 5.0 或更高版本的 VM 上,它生成一 个 .dmp.zip 文件。另请注意,在不同的平台上,可能提供了不同的选项控制在操作系统级别生成的转储 的格式。尤其有一些选项会造成系统转储中断从而导致 Dump A |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |