13.5.3. 防止在热添加内存时触发 OOM Killer
内核需要内存容量来管理热添加的内存,称为 memmap 区域。此区域使用大约 1.6% 内存,例如 16 GB 为 1 TB。默认情况下,内核会从 ZONE_NORMAL 分配它。如果 ZONE_NORMAL 缺少可用内存,则此分配可能会触发 OOM Killer。
从热添加的内存本身分配 memmap 区域可避免耗尽 ZONE_NORMAL。特定的设备,如 Compute Express Link (CXL)设备和标准 Dual Inline Memory Modules (DIMM),支持此功能。
先决条件
- 您在系统上具有 root 权限。
-
您的内存硬件支持在设备本身上分配
memmap。如需更多信息,请参阅硬件厂商的文档。
流程
通过添加以下内核引导选项启用
memmap_on_memory功能:memory_hotplug.memmap_on_memory=1- 重启系统以使更改生效。
验证
验证设置是否已启用:
# cat /sys/module/memory_hotplug/parameters/memmap_on_memoryY