4.2. 配置 kdump 内存用量

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

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

注意

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

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

先决条件

流程

  1. 准备 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)。如果将 offset 参数设置为 0 或完全省略,kdump 会自动偏移保留内存。在设置变量内存保留时,也可以使用此语法。在这种情况下,偏移总是被最后指定。例如:

      crashkernel=512M-2G:64M,2G-:128M@16M
  2. crashkernel= 选项应用到引导装载程序配置:

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

    &lt;value> 替换为您在上一步中准备的 crashkernel= 选项的值。