zhaobingchao
作者zhaobingchao2021-08-19 10:17
AIX技术支持, 浪潮商用机器企业云创新中心

AIX系统中进程Core dump数据收集方法

字数 1552阅读 1256评论 0赞 1

当某个进程发生了 core dump 后,如果要进行问题的分析,则需要做如下的准备工作:

  1. 要找到该进程对应该的二进制文件(如果是第三方应用程序则后期需要由相应的供应商进行分析);

  2. 必须使用“ snapcore ”命令进行数据收集。只有所生成的 core 文件是不够的,所以需要使用该命令进行数据的收集,包括收集 core 文件本身、二进制文件和所有相关的一些库文件,以便可以在客户环境之外进行分析。

首先,确定发生 core dump 程序的名称以及详细错误报告( errpt )输出中 core 文件的位置,例如:

.......

LABEL: CORE_DUMP

IDENTIFIER: A924A5FC

Date/Time: Tue Jun 11 22:58:18 2019

......

USER'S PROCESS ID:

4194354

FILE SYSTEM SERIAL NUMBER

16

INODE NUMBER

132661

CORE FILE NAME

/tmp/core

PROGRAM NAME

java

.......

Core 文件所在的位置以完成的绝对路径输出。程序名仅显示可执行二进制文件的实际名称,但也需要向 snapcore 命令的提供该文件的完整路径。

以下命令可用于使用 CORE_DUMP errlog 条目中的 inode number 查找可执行文件的完整路径。在上面给出的示例中,要使用 inode 编号 132661 查找“ java ”可执行文件的完整路径,请运行以下命令:

find /usr -inum 132661

/usr/java8/jre/bin/java

找到可执行文件的完整绝对路径后,以 root 用户身份执行 snapcore ,如下所示:

snapcore corefile_PATH binary_PATH

例如: # snapcore /tmp/core /usr/java8/jre/bin/java

Creating directory /tmp/snapcore ...

Core file "/tmp/core" created by "java"

pass1() in progress ....

Calculating space required .

Total space required is 14391 kbytes ..

Checking for available space ...

Available space is 2994064 kbytes

pass1 complete.

pass2() in progress ....

Collecting fileset information .

Collecting error report of CORE_DUMP errors ..

Creating readme file ..

Creating archive file ...

Compressing archive file ....

pass2 completed.

Snapcore completed successfully. Archive created in /tmp/snapcore.

最后所收集的结果将存放至 /tmp/snapcore 并且命名为 snapcore_.pax.Z :

ls -l /tmp/snapcore

total 12320

-rw-r--r-- 1 root system 6303760 Jul 11 16:42 snapcore_4194354.pax.Z

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表