tencent cloud

云服务器

动态与公告
产品动态
公共镜像更新动态
操作系统官方停止维护计划
产品公告
产品简介
云服务器概述
产品优势
基本概念
地域和可用区
新手指引
Service Regions and Service Providers
产品计费
计费概述
计费方式
计费项
转换计费方式
购买实例
变配费用说明
欠费说明
快速入门
通过自定义配置购买 Linux 云服务器
通过自定义配置购买 Windows 云服务器
用户指南
操作指南总览
使用限制总览
实例
竞价实例
预留实例
镜像
存储
备份与恢复
网络
安全
密码/密钥
监控与告警
运维管理
便捷功能
迁移服务器
在线迁移
迁移咨询
故障处理
无法登录云服务器问题处理思路
Windows 实例登录相关故障
Linux 实例登录相关故障
其他实例登录相关故障
实例运行故障
Linux 实例内存故障
网络故障
实践教程
云服务器选型建议
搭建环境
搭建网站
搭建应用
搭建可视化界面
本地文件上传到云服务器
网络性能测试
其他实践教程
API 文档
History
Introduction
API Category
Making API Requests
Region APIs
Instance APIs
Cloud Hosting Cluster APIs
Image APIs
Instance Launch Template APIs
Placement Group APIs
Key APIs
Security Group APIs
Network APIs
Data Types
Error Codes
安全与合规
访问管理
网络
常见问题
地域和可用区相关
计费相关
实例相关
存储相关
镜像相关
服务器迁移相关
网络相关
安全相关
操作系统相关
运维和监控相关
访问管理相关
NTP 服务相关
应用场景相关
服务协议
CVM Service Level Agreements
Red Hat Enterprise Linux 镜像服务协议
Public IP Service Level Agreement
词汇表
문서云服务器用户指南运维管理系统运维Linux 实例如何关闭或开启 kdump 服务

Linux 实例如何关闭或开启 kdump 服务

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2026-03-04 11:30:55
免责声明:本文档可能包含第三方产品信息,该信息仅供参考。腾讯云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。

概述

kdump 是 Linux 系统的一种内核崩溃(kernel crash)转储机制。当系统出现内核崩溃时,它能够捕获崩溃时的内存转储信息,以便后续分析和排除故障。本文主要介绍 Linux 系统的云服务器 CVM 实例如何关闭或开启 kdump 服务。
说明:关于 kdump 服务的介绍,请参见 kdump 介绍文档

关闭 kdump 服务及释放 kdump 预留的内存

Linux 系统启动时,kdump 会配置一块内核内存区域作为“保留内存”,该保留内存区域专门用于在系统崩溃时启动第二个内核。若业务对分析内核崩溃原因不太关注,想要释放这部分预留内存,可以考虑关闭 kdump。
注意:关闭 kdump 后出现内核崩溃存在无法诊断崩溃原因的风险。
不同的 Linux 发行版对应的关闭方法不同,本文列举了部分操作系统关闭 kdump 及释放 kdump 预留的内存的方法。
CentOS/TencentOS 公共镜像
OpenCloudOS 公共镜像
Ubuntu/Debian 公共镜像
以 CentOS 7/CentOS 8/TencentOS 2/TencentOS 3/TencentOS 4 操作系统为例,可参考如下步骤关闭 kdump 及释放 kdump 预留的内存。
1. 执行如下命令停止 kdump 服务及禁止开机启动并查看相关状态。
systemctl disable kdump --now
systemctl status kdump.service
systemctl is-enabled kdump.service

2. 使用 grubby 相关命令将 grub 参数中的 crashkernel 配置去掉,更新配置到启动文件。
2.1 执行如下命令查看 grubby 显示的 args 参数中是否包含 crashkernel 相关配置项并备份。
grubby --info=ALL|tee -a grubby.bak.$(date +%Y%m%d)

2.2 执行如下命令清除 crashkernel 相关参数、自动更新 grub 配置及查看清除后的参数配置。
grubby --update-kernel=ALL --remove-args="crashkernel"
grubby --info=ALL

3. 重启服务器,验证 kdump 服务是否关闭及 kdump 预留的内存是否释放。
警告:重启服务器可能会造成业务中断,请谨慎评估重启操作对业务的影响。
在重启服务器之后,可以通过执行以下命令来检查服务器是否已成功重启(通过查看 uptime 命令显示的时间是否为执行重启操作至当前时间的时间间隔来判断)、kdump 服务状态是否为 inactive (dead) 状态、crash 预留的内存大小 /sys/kernel/kexec_crash_size 是否为0、Linux 启动的命令行参数 /proc/cmdline 是否无 crashkernel 相关配置。
uptime
systemctl status kdump.service
cat /sys/kernel/kexec_crash_size
cat /proc/cmdline

如果服务器不允许重启,但想释放 kdump 占用的内存,可以执行如下命令清除 kdump 服务中为 crash 预留的内存。
echo 0 >/sys/kernel/kexec_crash_size
通过如下命令验证内存地址空间不再为 kdump 预留,即返回值为0。
cat /sys/kernel/kexec_crash_size
以 OpenCloudOS 7/OpenCloudOS 8/OpenCloudOS 9 操作系统为例,可参考如下步骤关闭 kdump 及释放 kdump 预留的内存。
1. 执行如下命令停止 kdump 服务及禁止开机启动并查看相关状态。
systemctl disable kdump --now
systemctl status kdump
systemctl is-enabled kdump

2. 修改 /etc/default/grub,将 GRUB_CMDLINE_LINUX 中的 crashkernel 配置去掉,更新配置到启动文件。
2.1 执行如下命令备份 /etc/default/grub 文件。
cp /etc/default/grub /etc/default/grub.bak.$(date +%Y%m%d)
2.2 使用 vim 或其他编辑器将 /etc/default/grubGRUB_CMDLINE_LINUX 行的 crashkernel=XXX 配置项(如下图标红内容)清除并保存。

2.3 执行如下命令更新 grub 配置文件。
grub2-mkconfig -o /boot/grub2/grub.cfg

3. 重启服务器,验证 kdump 服务是否关闭及 kdump 预留的内存是否释放。
警告:重启服务器可能会造成业务中断,请谨慎评估重启操作对业务的影响。
在重启服务器之后,可以通过执行以下命令来检查服务器是否已成功重启(通过查看 uptime 命令显示的时间是否为执行重启操作至当前时间的时间间隔来判断)、kdump 服务状态是否为 inactive (dead) 状态、crash 预留的内存大小 /sys/kernel/kexec_crash_size 是否为0、Linux 启动的命令行参数 /proc/cmdline 是否无 crashkernel 相关配置。
uptime
systemctl status kdump.service
cat /sys/kernel/kexec_crash_size
cat /proc/cmdline

如果服务器不允许重启,但想释放 kdump 占用的内存,可以执行如下命令清除 kdump 服务中为 crash 预留的内存。
echo 0 >/sys/kernel/kexec_crash_size
通过如下命令验证内存地址空间不再为 kdump 预留,即返回值为0。
cat /sys/kernel/kexec_crash_size
以 Ubuntu 18.04/Ubuntu 20.04/Ubuntu 22.04/Ubuntu 24.04/Debian 10/Debian 11/Debian 12 操作系统为例,可参考如下步骤关闭 kdump 及释放 kdump 预留的内存。
1. 执行如下命令停止 kdump-tools 服务及禁止开机启动并查看相关状态。
systemctl disable kdump-tools --now
systemctl status kdump-tools
systemctl is-enabled kdump-tools

2. 修改 /etc/default/grub/etc/default/grub.d 的配置,将 GRUB_CMDLINE_LINUXGRUB_CMDLINE_LINUX_DEFAULT中的 crashkernel 配置去掉,更新配置到启动文件。
2.1 执行如下命令备份 /etc/default/grub 文件。
cp /etc/default/grub /etc/default/grub.bak.$(date +%Y%m%d)
2.2 使用 vim 或其他编辑器将 /etc/default/grubGRUB_CMDLINE_LINUXGRUB_CMDLINE_LINUX_DEFAULT 行的 crashkernel=XXX 配置项(如下图标红内容)清除并保存。

如果 /etc/default/grub 中无 crashkernel 相关配置,请检查 /etc/default/grub.d 中的 kdump-tools.cfg 配置文件是否有 crashkernel 相关配置(如下图标红内容),若存在将 crashkernel=XXX 配置项去掉即可。

具体操作:您可以执行如下命令进入 /etc/default/grub.d/ 目录,查看是否有 kdump-tools.cfg 文件、检查 kdump-tools.cfg 配置、备份文件、清除 crashkernel 相关配置并验证修改结果。
cd /etc/default/grub.d/
cat kdump-tools.cfg
cp kdump-tools.cfg kdump-tools.cfg.bak.$(date +%Y%m%d)
vim kdump-tools.cfg
cat kdump-tools.cfg

2.3 执行如下命令更新 grub 配置文件。
update-grub

3. 重启服务器,验证 kdump-tools 服务是否关闭及 kdump 预留的内存是否释放。
警告:重启服务器可能会造成业务中断,请谨慎评估重启操作对业务的影响。
在重启服务器之后,可以通过执行以下命令来检查服务器是否已成功重启(通过查看 uptime 命令显示的时间是否为执行重启操作至当前时间的时间间隔来判断)、kdump 服务状态是否为 inactive (dead) 状态、crash 预留的内存大小 /sys/kernel/kexec_crash_size 是否为0、Linux 启动的命令行参数 /proc/cmdline 是否无 crashkernel 相关配置。
uptime
systemctl status kdump-tools
cat /sys/kernel/kexec_crash_size
cat /proc/cmdline

如果服务器不允许重启,但想释放 kdump 占用的内存,可以执行如下命令清除 kdump 服务中为 crash 预留的内存。
echo 0 >/sys/kernel/kexec_crash_size
通过如下命令验证内存地址空间不再为 kdump 预留,即返回值为0。
cat /sys/kernel/kexec_crash_size


开启 kdump 服务

使用腾讯云的 Linux 公共镜像创建的服务器默认会开启 kdump,发生 panic 时一般会在 /var/crash 下生成系统内存 dump 信息,可以利用 crash 工具分析服务器发生 panic 的原因,但开启 kdump 时会占用一部分操作系统的内存空间。不同版本的 Linux 系统对应的开启方法不同,以下列举部分 Linux 发行版的配置方法:




도움말 및 지원

문제 해결에 도움이 되었나요?

피드백