---
title: kdump机制
description: "Linux内核问题因其容易导致整个系统崩溃且难以复现，一般情况下很难定位分析解决。同时，内核调试的特殊性引发了一系列相关问题。常用的打印、查询、单步跟踪调试手段不适用于内核问题定位。而内核崩溃转储机制，可以有效地收集问题出现时的现场信息，做后续分析，被广泛运用于内存问题定位上。内核崩溃转储机制的种类包括LKCD、Diskdump、Netdump、Mkdump、kdump等。kdump是目前主流内核崩溃转储机制，本手册也推荐使用kdump用于内核问题定位。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenggrf/ref/kunpenggrffaq_10_0042.html
sourcePath: /source/zh/kunpenggrf/ref/kunpenggrffaq_10_0042.html
indexId: dd14c85ba89473ca384f4743db4166dcb0c5ec0990cd9f5139f26ef0aec6b5f352
---
# kdump机制

Linux内核问题因其容易导致整个系统崩溃且难以复现，一般情况下很难定位分析解决。同时，内核调试的特殊性引发了一系列相关问题。常用的打印、查询、单步跟踪调试手段不适用于内核问题定位。而内核崩溃转储机制，可以有效地收集问题出现时的现场信息，做后续分析，被广泛运用于内存问题定位上。内核崩溃转储机制的种类包括LKCD、Diskdump、Netdump、Mkdump、kdump等。kdump是目前主流内核崩溃转储机制，本手册也推荐使用kdump用于内核问题定位。

kdump机制在Linux 2.6.38被ARM平台内核主线接纳，它是通过两个内核实现的，在正常使用的系统内核外，通过启动另一个捕获内核捕获系统内核信息的方法，来进行转储操作。具体流程如图1所示。

图1 kdump机制

1. 系统内核正常启动，包括硬件自检、bootloader加载等常规过程，并预留内存空间给捕获内核。
2. 加载捕获内核到预留内存空间。
3. 系统发生崩溃，触发panic，捕获内核启动。（捕获内核采用的是kexec机制，可以跳过硬件自检的环境，快速启动内核。）
4. 捕获内核通过/proc/vmcore内存镜像文件，收集系统内核信息。
5. 将系统内核信息经过压缩，生成转储文件，写到磁盘中。
