银河麒麟服务器版通过内核启动参数限制使用内存大小

在CentOS和类centos系统(银河麒麟服务器版)中,操作系统本身无法直接禁用物理内存条,但可以通过以下方法间接限制系统对部分内存的使用,下面我用银河麒麟服务器版系统为例更改服务器使用的内存量:

一、通过内核启动参数限制内存总量

  1. 编辑GRUB配置文件

    sudo vi /etc/default/grub
    

    GRUB_CMDLINE_LINUX 行添加 mem=容量 参数。例如,限制系统仅使用前4GB内存:

    ini

    GRUB_CMDLINE_LINUX="mem=4G ...其他参数..."
    

    image-20250408144702356

  2. 重新生成GRUB配置

    国产化系统银河麒麟服务器版只有UEFI引导方式,这里我们在银河麒麟服务器版系统上操作的话就选择第3条命令执行,第1.2条是对应不同引导方式下的centos系统的

    1、# 对于传统 BIOS模式引导下的centos:
    sudo grub2-mkconfig -o /boot/grub2/grub.cfg
    2、# 对于 UEFI模式引导下的centos:
    sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
    3、# 对于 UEFI模式引导下的银河麒麟服务器版:
    sudo grub2-mkconfig -o /boot/efi/EFI/kylin/grub.cfg
    

    image-20250408144734877

  3. 重启系统

    sudo reboot
    

image-20250408144840436

注意:此方法会强制系统忽略超出指定值的内存,但需谨慎设置,避免导致系统资源不足。

二、未生效排查方式

1. 确认 GRUB 配置已正确生效

检查生效的内核参数

重启后执行以下命令,查看实际加载的内核参数是否包含 mem=256G

cat /proc/cmdline
  • 如果参数不存在:GRUB 配置未正确应用。考虑生成GRUB生成的配置是否正确,是不是系统使用的引导不对造成GRUB未正常应用。
  • 如果参数存在但未生效:可能与其他配置冲突或参数格式问题。
THE END