如何分析WebSphere Java堆转储以进行故障排除

本文概述

  • IBM HeapAnalyzer
  • Eclipse内存分析器(MAT)
应用程序故障排除总是令人兴奋且充满挑战。但是, 如果你没有配备必需的工具, 那就太令人沮丧了。
如果你正在使用WebSphere, 那么在项目阶段的大部分时间里, 你都需要花费故障排除时间并调整应用程序性能。
在大多数情况下, 与性能相关的问题都会与开发人员一起工作, 并且会要求你使用堆转储进行分析。
有多种方法来进行堆转储。如果你想知道如何使用WebSphere, 那么本指南将为你提供帮助。
有了堆转储后, 你需要进行分析, 不幸的是, 你无法在记事本中打开它, 因此必须使用这些工具。但是请放心, 以下工具将帮助你读取堆转储文件以进行分析。
它们都是免费的!
IBM HeapAnalyzer IBM的HeapAnalyzer可帮助你找到可能的Java堆泄漏区域, 你可以从此处下载。
  • 下载jar文件后, 你可以按以下方式运行它们。
java -Xmx4g -jar ha456.jar

  • 它将打开分析仪。要打开堆转储, 请转至文件> > 选项, 然后选择堆转储。根据文件大小, 可能要花几秒钟, 然后为你提供摘要视图。
如何分析WebSphere Java堆转储以进行故障排除

文章图片
怀疑是否有泄漏的最快方法是:
  • 转到分析菜单> > 分析视图
如何分析WebSphere Java堆转储以进行故障排除

文章图片
如果未发现泄漏, 它将显示类似以下内容。
如何分析WebSphere Java堆转储以进行故障排除

文章图片
因此, 继续尝试” 分析” 下的各种选项, 以熟悉该工具。
Eclipse内存分析器(MAT) MAT可以分析具有数亿个对象的堆转储, 而且速度很快。快速检查可疑的泄漏, 并在一分钟内生成出色的图形报告。
默认情况下, MAT不支持WebSphere生成的堆转储, 因此你需要使用插件。
你可以从此处下载MAT, 并从此处下载插件。插件的安装很简单。只需将插件jar文件复制到MAT plugins文件夹即可。
  • 下载MAT后, 你可以通过执行
./MemoryAnalyzer

  • 要分析堆转储文件, 请转至文件> > 打开堆转储并选择文件
  • 这将花费几秒钟, 并提示” Getting Started Wizard” 。
如何分析WebSphere Java堆转储以进行故障排除

文章图片
你可以选择任何内容, 然后单击” 完成” 。啊, 它发现了两个泄漏嫌疑人。
如何分析WebSphere Java堆转储以进行故障排除

文章图片
MAT非常强大, 可以分析某些指标。
例如:
  • 最大的对象是顶级消费者
  • 最大的顶级统治者阶层
  • 最大的顶级控制包
  • 线程概述
  • 堆转储概述
如果使用的是其他J2EE应用程序服务器, 则可以使用VisualVM分析堆转储。
【如何分析WebSphere Java堆转储以进行故障排除】你可能还对学习Java内存管理感兴趣。

    推荐阅读