Menu Close

14.2. 运行和退出 crash 工具

以下流程描述了如何启动崩溃程序来分析系统崩溃原因。

先决条件

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

流程

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

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

      生成的 crash 命令类似如下:

      # crash /usr/lib/debug/lib/modules/4.18.0-5.el9.x86_64/vmlinux /var/crash/127.0.0.1-2018-10-06-14:05:33/vmcore

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

      运行 crash 工具

      以下示例演示了使用 4.18.0-5.el8.x86_64 内核分析在 2018 年 10 月 6 日下午 14:05 时创建的内核转储。

      WARNING: kernel relocated [202MB]: patching 90160 gdb minimal_symbol values
      
            KERNEL: /usr/lib/debug/lib/modules/4.18.0-5.el8.x86_64/vmlinux
          DUMPFILE: /var/crash/127.0.0.1-2018-10-06-14:05:33/vmcore  [PARTIAL DUMP]
              CPUS: 2
              DATE: Sat Oct  6 14:05:16 2018
            UPTIME: 01:03:57
      LOAD AVERAGE: 0.00, 0.00, 0.00
             TASKS: 586
          NODENAME: localhost.localdomain
           RELEASE: 4.18.0-5.el8.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. 要退出交互式提示并终止崩溃,请键入 exitq

    crash> exit
    ~]#