Menu Close
Settings Close

Language and Page Formatting Options

Red Hat Training

A Red Hat training course is available for RHEL 8

15.2. 配置 kdump 内存用量

在系统引导过程中为 kdump 保留内存。内存大小在系统 Grand Unified Bootloader (GRUB)配置文件中配置。内存大小取决于配置文件中指定的 crashkernel= 选项的值以及系统物理内存的大小。

crashkernel= 选项可以通过多种方式定义。您可以指定 crashkernel= 值或配置 auto 选项。crashkernel=auto 参数根据系统中的物理内存总量自动保留内存。配置后,内核将自动为捕获内核保留适当数量的内存量。这有助于防止内存不足(OOM)错误。

注意

kdump 的自动内存分配因系统硬件架构和可用内存大小而异。

例如,在 AMD64 和 Intel 64 中,crashkernel=auto 参数仅在可用内存超过 1GB 时可以正常工作。64 位 ARM 架构和 IBM Power Systems 需要有超过 2GB 可用内存。

如果系统自动分配低于最小内存阈值,您可以手动配置保留内存量。

先决条件

流程

  1. 编辑 /etc/default/grub 文件。
  2. 设置 crashkernel= 选项。

    例如:要保留 128 MB 内存,请使用:

    crashkernel=128M

    或者,您可以根据安装的内存总量将保留内存量设置为变量。变量中的内存保留语法为 crashkernel=<range1>:<size1>,<range2>:<size2>。例如:

    crashkernel=512M-2G:64M,2G-:128M

    如果系统内存总量介于 512 MB 和 2 GB 之间,则以上示例保留 64 MB 的内存。如果内存总量大于 2 GB,则会保留 128 MB。

    • 保留内存的偏移。

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

      crashkernel=128M@16M

      在上例中,kdump 从 16 MB 保留 128 MB 内存(物理地址 0x01000000)。如果偏移参数设为 0 或完全省略,kdump 会自动偏移保留内存。在设置变量内存保留时,也可以使用此语法。在这种情况下,偏移始终被指定(例如 crashkernel=512M-2G:64M,2G-:128M@16M)。

  3. 使用以下命令更新 GRUB 配置文件:

    # grub2-mkconfig -o /boot/grub2/grub.cfg
注意

kdump 配置内存的替代方法是使用 grub2-editenv 命令将 crashkernel=<SOME_VALUE > 参数附加到 kernelopts 变量中,这将更新您的所有引导条目。或者,您可以使用 grubby 实用程序更新一个引导条目、更多引导条目或所有引导条目。