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 系统需要超过 2 GB 的可用内存。
如果系统自动分配低于最小内存阈值,您可以手动配置保留内存量。
先决条件
- 您在系统上具有 root 权限。
-
满足
kdump配置和目标的要求。详情请查看 支持的 kdump 配置和目标。
流程
准备
crashkernel=选项。例如:要保留 128 MB 内存,请使用:
crashkernel=128M
crashkernel=128MCopy to Clipboard Copied! Toggle word wrap Toggle overflow 或者,您可以根据安装的内存总量将保留内存量设置为变量。变量中的内存保留语法为
crashkernel=<range1>:<size1>,<range2>:<size2>。例如:crashkernel=512M-2G:64M,2G-:128M
crashkernel=512M-2G:64M,2G-:128MCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果系统内存总量为 512 MB 和 2 GB,则命令保留 64 MB 内存。如果内存量超过 2 GB,则内存保留为 128 MB。
保留内存的偏移。
有些系统需要保留具有特定固定偏移量的内存,因为
crashkernel保留在早期发生,您可能需要为特殊用途保留更多内存。当您定义了一个偏移时,保留的内存将从这个偏移位置开始。要偏移保留的内存,请使用以下语法:crashkernel=128M@16M
crashkernel=128M@16MCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在这个示例中,
kdump从 16 MB 开始保留 128 MB 内存(物理地址0x01000000)。如果将偏移参数设置为 0 或完全省略,kdump会自动偏移保留内存。在设置变量内存保留时,也可以使用此语法。在这种情况下,偏移总是指定最后一个。例如:crashkernel=512M-2G:64M,2G-:128M@16M
crashkernel=512M-2G:64M,2G-:128M@16MCopy to Clipboard Copied! Toggle word wrap Toggle overflow
将
crashkernel=选项应用到引导装载程序配置:grubby --update-kernel=ALL --args="crashkernel=<value>"
# grubby --update-kernel=ALL --args="crashkernel=<value>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<value>替换为您在上一步中准备的crashkernel=选项的值。