![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
以手动方式生成堆转储
使用此任务来手动生成堆转储。如果使用的 Sun Java™ 虚拟机 (JVM) 包括在 HP-UX 和 Solaris 操作系统上运行的 WebSphere® Application Server,那么不支持此功能。
开始之前
虽然只有在检测到内存泄漏时才会生成堆转储,但是,您必须知道,生成堆转储时会严重影响 WebSphere Application Server 的性能,并且时间长达数分钟。因此,在以手动方式生成多个堆转储以便进行内存泄漏分析时,请确保泄漏的对象达到相当数目后才创建另一个堆转储。这样,问题确定工具就能够确定内存泄漏的根源。
关于此任务
您可能想以手动方式生成堆转储,以便对内存泄漏进行分析。由于生成堆转储的开销较大,因此,您可能还要指定生成堆转储的特定时间。在 WebSphere 中的 JVM 上,可以通过对 WebSphere Application Server 受管 Bean(MBean,这些是特殊的 Java Bean)执行 generateHeapDump 操作来以手动方式生成堆转储。
在 WebSphere Application Server 中的 Java 虚拟机 (JVM) 上,无法自动生成堆转储。
WebSphere Application Server wsadmin 工具提供运行脚本的能力。您可以使用 wsadmin 工具来管理 WebSphere Application Server 安装、配置、应用程序部署和服务器运行时操作。WebSphere Application Server 仅支持 Jacl 和 Jython 脚本编制语言。要了解关于 wsadmin 工具的更多信息,请参阅启动 wsadmin 脚本编制客户机信息。
过程
下一步做什么
运行 wsadmin 命令后,将返回堆转储的文件名。有关查找堆转储的更多信息,请参阅查找和分析堆转储主题。在创建了一两个堆转储之后,可使用许多内存泄漏问题确定工具来分析问题。“用于 Java™ 的内存转储诊断”是一个脱机工具,用于诊断造成 Java 堆内存泄漏的根本原因。请参阅诊断内存不足错误和 Java 堆内存泄漏信息。