强制或生成 JVM Core Dump(IBM JVM)

17

你正在寻找哪个应用服务器? - developer
6
这个问题应该重新打开并重新表述为如何强制IBM的JVM生成core dump。下面Damodar的回答非常好。 - ams
2
不是重复(我想),核心转储不是崩溃日志(我想)! - PJTraill
我已经编辑了标题并投票重新开放。如果您有任何声望并到达此处,请考虑重新开放。 - Jayan
2个回答

21

问题摘要:为了诊断运行在WebSphere应用服务器社区版上的客户端应用程序挂起或性能差的问题,用户需要生成各种转储并将其发送给IBM支持进行诊断。

本技术记录解释了如何在WebSphere应用服务器社区版作为操作系统服务运行时生成所需的转储。本技术记录适用于IBM Java SDK 1.5.0和IBM Java SDK 1.6.0。

原因:当客户端应用程序在IBM Java SDK 1.5.0或IBM Java SDK 1.6.0上使用WebSphere应用服务器社区版并且服务器作为操作系统服务运行时,对应的命令/ shell窗口不可供用户使用。因此,用户无法从键盘向服务器进程触发信号以生成转储。

解决方法:当JVM进程命令窗口可用时,生成转储非常简单,如下所示:

Windows: 如果JVM设置已配置为在用户信号触发时触发转储,则在命令窗口上按CRTL + Break以生成转储。

Linux:如果JVM设置已配置为在用户信号触发时生成转储,则在shell窗口上按CTRL+\

AIX:如果JVM设置已配置为在用户信号触发时生成转储,则在shell窗口上按CTRL+\

注意:为了在用户信号下生成Java核心转储、系统核心转储、堆转储和快照转储,必须通过JVM选项配置转储代理,如下所示:

-Xdump:java+heap+system+snap:events=user

若想了解如何配置转储代理,请访问使用 -Xdump

然而,如果 WebSphere Application Server Community Edition 作为操作系统服务运行,则命令窗口可能不可用。当在 Windows 上使用 javaw.exe 启动 JVM 进程时也会出现这种情况。

在上述情况中,用户需要找到 JVM 进程的相应进程 ID,并使用操作系统供应商提供或 IBM 提供的工具来生成转储文件,按以下步骤进行:

Windows: 可以从 Microsoft Dev 工具网站下载 WinDbg 来生成系统核心转储。在 WinDbg 控制台中使用以下命令来生成系统核心转储:

dump /f <dumpfile> 

dumpfile参数包含系统核心转储文件的目录路径和名称。确保使用/f选项而不是/ma选项。/f生成完整的转储文件,而/ma只生成微型转储文件。只有使用IBM Java SDK 1.5.0/1.6.0提供的jextract工具时支持完整的转储文件。

发送信号工具适用于Windows操作系统。为此,必须设置JVM生成用户信号的转储文件。要在用户信号时生成Java核心转储、堆转储、系统核心转储和快照转储文件,请在JVM启动时提供以下选项:

-Xdump:java+heap+system+snap:events=user 
注意:SendSignal实用程序可用于生成所有类型的转储文件,而WinDbg仅生成系统核心转储文件。
Linux和AIX:Linux和AIX的信号是SIGQUIT。使用该命令发送用户信号以触发各种转储文件:
kill -3 <PID>  

为此,必须设置JVM以在用户信号上生成转储。要在用户信号上生成Java核心转储、堆转储、系统核心转储和快照转储,请在启动时向JVM提供以下选项。

-Xdump:java+heap+system+snap:events=user 

注意:必须使用jextract工具处理系统核心转储文件,并将输出发送给IBM支持。应使用经历问题的同一JVM中的jextract来处理系统核心转储:

<JAVA_HOME>/jre/bin/jextract <dumpfile>   

dumpfile 是系统核心转储文件的文件名。

这将生成一个 zip 文件 .zip。zip 文件需要发送给 IBM 支持团队。


1
在CentOS 6和JDK 8上,kill -3对我没有用。我不得不使用来自此帖子的gdb方法:https://dev59.com/o2Ei5IYBdhLWcg3w6f2e - wbdarby

-2

如果您正在运行自己的代码,Q&D的方法是引发异常并立即打印其堆栈跟踪。如果不是,则分析工具应该有捕获JVM中运行的线程快照的方法。 我使用过YourKit并喜欢它,但也有免费替代品


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接