如何手动开启kdump服务

问题现象

执行systemctl status kdump命令,显示状态信息如下,提示无预留内存。

如何手动开启kdump服务 - 图1

原因分析

kdump服务需要系统预留一段内存用于运行kdump内核,而当前系统没有为kdump服务预留内存,所以无法运行kdump服务。

解决方法

已安装操作系统的场景

  1. 修改/boot/efi/EFI/openEuler/grub.cfg,添加crashkernel=1024M,high。
  2. 重启系统使配置生效。
  3. 执行如下命令,检查kdump状态:

    1. systemctl status kdump

    若回显如下,即kdump的状态为active,说明kdump已使能,操作结束。

    如何手动开启kdump服务 - 图2

参数说明

kdump内核预留内存参数说明如下:

表 1 crashkernel参数说明

内核启动参数

描述

默认值

备注

crashkernel=X

在4G以下的物理内存预留X大小的内存给kdump使用

无,用户根据实际情况调整

该配置方法只在4G以下内存预留,必须保证4G以下连续可用内存足够预留

crashkernel=X@Y

在Y起始地址预留X大小的内存给kdump使用

无,用户根据实际情况调整

需要确保Y起始地址的X大小内存未被其他模块预留

crashkernel=X,high

在4G以下的物理内存中预留256M大小,在4G以上预留X大小内存给kdump使用

无,用户根据实际情况调整,推荐值为1024M,high

确保4G以下内存有256M连续可用内存,4G以上有连续X大小内存可预留。实际预留内存大小为256M+X

crashkernel=X,low

crashkernel=Y,high

在4G以下的物理内存中预留X大小,在4G以上预留Y大小内存给kdump使用

无,用户根据实际情况调整

需要确保4G以下有X大小连续可用内存,4G以上有Y大小连续可用内存。实际预留内存大小为X+Y