AIX 上的 Java 故障诊断:AIX 核心转储
2008-09-06 08:18:10 来源:WEB开发网使用一组 AIX 命令或实用程序来收集信息。在继续之前,必须安装以下 AIX 文件集:File Fileset
--------------------------------------------------
/usr/bin/uudecode bos.net.uucp
/usr/bin/syscorepath bos.rte.control
/usr/sbin/snapcore bos.rte.serv_aid ( also /usr/bin/truss )
若要确保所有文件集都已正确安装,可以运行命令:lslpp -l fileset_name
任何缺少的文件集都应从 AIX 基础安装介质进行安装,然后使用 IBM Fix Central 来升级到最新级别。
禁用 Java 信号处理
正如在Javacore 与 AIX 核心部分中所讨论的,Javacore 文件并不总是用于调试挂起情况的最佳工具。二进制 AIX 核心文件可以提供更有用的信息。为了获得理想的 AIX 核心文件,必须对 JVM 进行设置,使其在收到发送给进程的信号时不创建 Javacore。
未禁用信号处理程序时,进程在“当前”状态中可能表现为正在进行信号处理,从而可能隐藏了真正问题。如果应用程序具有处理 SIGILL、SIGFPE、SIGBUS 和 SIGSEGV 的信号处理程序,则应该禁用那些信号处理程序。必须在启动应用程序之前在运行应用程序的环境中进行更改。
对于应用程序由另一个进程(例如 WebSphere®)启动的情况,设置该环境可能会影响所有 Java 进程。对于这些情况,您需要参考应用程序的文档来启用特定于该应用程序的环境设置。
禁用 JVM 信号处理。
应该在重新启动应用程序之前设置以下环境变量。export DISABLE_JAVADUMP=true
export IBM_NOSIGHANDLER=true
更多精彩
赞助商链接