WEB开发网
开发学院操作系统Linux/Unix AIX 下的 core dump 分析入门 阅读

AIX 下的 core dump 分析入门

 2008-11-10 08:27:41 来源:WEB开发网   
核心提示: 由于相关指令已经包含在可执行文件中,core 文件一般只包含进程异常时相关的内存信息,AIX 下的 core dump 分析入门(4),其格式可参考 /usr/include/sys/core.h 或者 AIX 帮助文档的“Files Reference”章节,我们

由于相关指令已经包含在可执行文件中,core 文件一般只包含进程异常时相关的内存信息。其格式可参考 /usr/include/sys/core.h 或者 AIX 帮助文档的“Files Reference”章节。我们一般需要结合 core 文件以及可执行程序,来分析问题所在。

注:由于进程信号处理本质上是异步的,应用进程注册的信号处理函数中使用的例程需要保证是异步信号安全的,例如不能使用诸如 pthread_ 开头的例程。

系统 dump 生成过程

系统异常 dump 的具体过程与应用进程类似,但由于更接近底层,为了避免问题所在的资源(例如文件系统)正好包含在生成 dump 需要使用的资源中,造成 dump 无法生成,操作系统一般会用最简单的方式来生成 dump。例如系统内存小于 4G 的情况下,一般直接将 dump 生成在 pagingspace 中;大于 4G 时,会建专门的 lg_dumplv 逻辑卷(裸设备)保存 dump 信息。在系统重启的时候,如果设置的 DUMP 转存目录(文件系统中的目录)有足够空间,它将会转存成一个文件系统文件,缺省情况下,是 /var/adm/ras/ 下的 vmcore* 这样的文件。

系统 dump 一般可以通过升级微码、提高系统补丁级别、升级驱动等方式解决。

应用进程 core dump 分析

上一章我们介绍了 core dump 产生的基本原理。本章我们将针对 AIX 操作系统,介绍 core dump 定位相关的背景知识。

环境变量设置

可以通过 /etc/security/limits 文件对各用户的基本配置参数包括 core 大小进行限制。或者通过 ulimit 更改当前环境下的 core 大小限制。

默认情况下,应用进程生成 core dump 时都使用文件名 core。为了避免同一工作目录下的进程 core 相互覆盖,可以定义环境变量 CORE_NAMING=true,然后启动进程,这样将生成名为 core.pid.ddhhmmss 的文件。可以使用 file core 命令查看 core 是哪个进程产生的。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:AIX core dump

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接