18.2. 配置 kdump 内存用量
在系统引导过程中为 kdump
保留内存。内存大小是在系统 Grand Unified Bootloader(GRUB)2 配置文件中配置的。内存大小取决于配置文件中指定的 crashkernel=
选项的值以及系统物理内存的大小。
crashkernel=
选项可以通过多种方式定义。您可以指定 crashkernel=
值,或者配置 auto
选项。crashkernel=auto
参数根据系统中物理内存总量自动保留内存。配置后,内核将自动为捕获内核保留一个适当数量所需的内存量。这有助于防止内存不足(OOM)错误。
kdump
的自动内存分配因系统硬件架构和可用内存大小而异。
如果系统自动分配低于最小内存阈值,您可以手动配置保留内存量。
先决条件
- root 权限。
-
满足
kdump
配置和目标的要求。详情请查看支持的 kdump 配置和目标。
流程
-
编辑
/etc/default/grub
文件。 设置
crashkernel=
选项。例如:要保留 128 MB 内存,请使用:
crashkernel=128M
crashkernel=128M
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 或者,您可以根据安装的内存总量将保留内存量设置为变量。变量中的内存保留语法为
crashkernel=<range1>:<size1>,<range2>:<size2>
。例如:crashkernel=512M-2G:64M,2G-:128M
crashkernel=512M-2G:64M,2G-:128M
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果系统内存总量介于 512 MB 和 2 GB 之间,则上述示例保留 64 MB 的内存。如果内存量大于 2 GB,则会保留 128 MB。
保留内存的偏移。
有些系统需要使用特定的固定偏移保留内存,因为
crashkernel
保留非常早,并希望保留一些区域以供特殊使用。如果设置了偏移,则保留内存从此偏移开始。要偏移保留的内存,请使用以下语法:crashkernel=128M@16M
crashkernel=128M@16M
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在上例中,
kdump
从 16MB 开始保留 128 MB 内存(物理地址 0x01000000)。如果偏移参数设为 0 或完全省略,kdump
会自动偏移保留内存。在设置变量内存保留时还可使用此语法。在这种情况下,偏移总是最后指定(例如crashkernel=512M-2G:64M,2G-:128M@16M
)。
使用以下命令更新 GRUB2 配置文件:
grub2-mkconfig -o /boot/grub2/grub.cfg
# grub2-mkconfig -o /boot/grub2/grub.cfg
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
为 kdump
配置内存的替代方法是使用 grubby
实用程序更新一个引导条目、多个引导条目或所有引导条目。