如何手动开启 kdump 服务
问题现象
执行 systemctl status kdump 命令,显示状态信息如下,提示无预留内存。
原因分析
kdump 服务需要系统预留一段内存用于运行 kdump 内核,而当前系统没有为 kdump 服务预留内存,所以无法运行 kdump 服务。
解决方法
已安装操作系统的场景
修改 /boot/efi/EFI/EulixOS/grub.cfg,添加 crashkernel=1024M,high。
重启系统使配置生效。
执行如下命令,检查 kdump 状态:
systemctl status kdump
若回显如下,即 kdump 的状态为 active,说明 kdump 已使能,操作结束。
参数说明
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,lowcrashkernel=Y,high | 在 4G 以下的物理内存中预留 X 大小,在 4G 以上预留 Y 大小内存给 kdump 使用 | 无,用户根据实际情况调整 | 需要确保 4G 以下有X大小连续可用内存,4G 以上有 Y 大小连续可用内存。实际预留内存大小为 X+Y |