16.2. 运行和退出 crash 工具

使用提供的信息,了解运行和退出 crash 工具所需的参数和流程。crash 是一个在系统运行时或发生内核崩溃并创建一个内核崩溃后以交互方式分析系统状态的工具。内核转储文件也称为 vmcore 文件。

先决条件

  • 确定当前运行的内核(如 5.14.0-1.el9.x86_64)。

流程

  1. 要启动 crash 工具程序,需要将两个必要的参数传递给该命令:

    • debug-info(解压缩的 vmlinuz 镜像),如 /usr/lib/debug/lib/modules/5.14.0-1.el9.x86_64/vmlinux,通过特定的 kernel-debuginfo 软件包提供。
    • 实际的 vmcore 文件,如 /var/crash/127.0.0.1-2021-09-13-14:05:33/vmcore

      生成的 crash 命令类似如下:

      # crash /usr/lib/debug/lib/modules/5.14.0-1.el9.x86_64/vmlinux /var/crash/127.0.0.1-2021-09-13-14:05:33/vmcore

      使用 kdump 捕获的相同 <kernel> 版本。

      例 16.1. 运行 crash 工具

      以下示例显示了使用 5.14.0-1.el9.x86_64 内核,分析在 2021 年 9 月 13 日 14:05 PM 上创建的核心转储。

      ...
      WARNING: kernel relocated [202MB]: patching 90160 gdb minimal_symbol values
      
            KERNEL: /usr/lib/debug/lib/modules/5.14.0-1.el9.x86_64/vmlinux
          DUMPFILE: /var/crash/127.0.0.1-2021-09-13-14:05:33/vmcore  [PARTIAL DUMP]
              CPUS: 2
              DATE: Mon Sep 13 14:05:16 2021
            UPTIME: 01:03:57
      LOAD AVERAGE: 0.00, 0.00, 0.00
             TASKS: 586
          NODENAME: localhost.localdomain
           RELEASE: 5.14.0-1.el9.x86_64
           VERSION: #1 SMP Wed Aug 29 11:51:55 UTC 2018
           MACHINE: x86_64  (2904 Mhz)
            MEMORY: 2.9 GB
             PANIC: "sysrq: SysRq : Trigger a crash"
               PID: 10635
           COMMAND: "bash"
              TASK: ffff8d6c84271800  [THREAD_INFO: ffff8d6c84271800]
               CPU: 1
             STATE: TASK_RUNNING (SYSRQ)
      
      crash>
  2. 要退出交互式提示符并停止 crash,请输入 exitq

    例 16.2. 退出 crash 工具

    crash> exit
    ~]#
注意

crash 命令也可以用作调试实时系统的强大工具。但是请谨慎使用它,以免破坏您的系统。