14.2. 在 RHEL 9 上配置 kdump 内存使用


kexec-tools 软件包维护默认的 crashkernel= 内存保留值。kdump 服务使用默认值为每个内核保留崩溃内核内存。默认值也可以充当参考基础值,来在手动设置 crashkernel= 值时估算所需的内存大小。崩溃内核的最小大小可能会因硬件和机器规格而异。

kdump 自动内存分配根据系统硬件架构和可用内存大小而有所不同。例如,在 AMD64 和 Intel 64 位构架中,crashkernel= 参数的默认值仅在可用内存超过 1 GB 时才可以正常工作。kexec-tools 工具在 AMD64 和 Intel 64 位构架上配置以下默认内存保留:

crashkernel=1G-4G:192M,4G-64G:256M,64G:512M

您还可以运行 kdumpctl estimate 在不触发崩溃的情况下获取大约值。估算的 crashkernel= 值可能不是准确的值,但可作为设置适当的 crashkernel= 值的参考。

注意

RHEL 9 及更新的版本不再支持引导命令行中的 crashkernel=auto 选项。

先决条件

  • 您在系统上具有 root 权限。
  • 您已满足配置和目标的 kdump 要求。详情请查看支持的 kdump 配置和目标
  • 如果是 IBM Z 系统,您已安装了 zipl 工具。

流程

  1. 为崩溃内核配置默认值:

    # kdumpctl reset-crashkernel --kernel=ALL

    在配置 crashkernel= 值时,请通过启用了 kdump 重启系统来测试配置。如果 kdump 内核无法引导,请逐渐增加内存大小来设置一个可接受的值。

  2. 要使用自定义 crashkernel= 值:

    1. 配置所需的内存保留。

      crashkernel=192M

      另外,您还可以根据语法 crashkernel= <range1>:<size1>,<range2>:<size2> 语法将保留 内存量设置为变量。例如:

      crashkernel=1G-4G:192M,2G-64G:256M

      如果系统内存总量为 1 GB 或大于 4 GB,则示例保留 192 MB 内存。如果内存量超过 4 GB,则为 kdump 保留 256 MB。

    2. 可选:保留内存的偏移。

      因为 crashkernel 保留非常早,所以有些系统需要保留具有一定固定偏移量的内存,并希望为特殊用途保留一些区域。如果设置了偏移,则保留内存从此偏移开始。要偏移保留的内存,请使用以下语法:

      crashkernel=192M@16M

      示例保留从 16 MB 开始的 192 MB 内存(物理地址 0x01000000)。如果您偏移到 0 或没有指定值,则 kdump 会自动偏移保留的内存。您还可以在设置变量内存保留时偏移内存,方法是将偏移指定为最后一个值。例如: crashkernel=1G-4G:192M,2G-64G:256M@16M

    3. 更新引导装载程序配置:

      # grubby --update-kernel ALL --args "crashkernel=<custom-value>"

      <custom-value>必须包含您为崩溃内核配置的自定义 crashkernel= 值。

  3. 重启以使更改生效:

    # reboot
验证

测试 kdump 配置的命令将导致内核崩溃,且数据丢失。请谨慎操作。您不能使用活跃的生产环境系统来测试 kdump 配置。

通过激活 sysrq 键使内核崩溃。address-YYYY-MM-DD-HH:MM:SS/vmcore 文件保存在 /etc/kdump.conf 文件中指定的目标位置。如果您选择默认目标位置,vmcore 文件会保存在挂载在 /var/crash/ 下的分区中。

  1. 激活 sysrq 键以引导到 kdump 内核:

    # echo c > /proc/sysrq-trigger

    命令会导致内核崩溃,并在需要时重新启动内核。

  2. 显示 /etc/kdump.conf 文件,并检查 vmcore 文件是否已保存到目标位置。

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.