我最近配置了我的系统,使用内核启动参数将 3 GB 的 RAM 分配给大页面。我所做的是将以下内核启动参数添加到 GRUB:
default_hugepagesz=2M hugepagesz=1G hugepages=3
但是,我后来决定不再需要它们,并尝试禁用它们。我从 GRUB 中删除了这些参数并运行了 update-grub。但是,当我重新启动系统时,我的 RAM 仍然被我分配给大页面的 3 GB 占用。当我检查文件 /proc/meminfo/ 时,我看到以下几行:
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 3145728 kB
我相信这些行表明,即使删除了内核参数,我的系统内存中仍有 3 GB 分配给 Hugetlb。我也没有将 /etc/systctl.conf/ 配置为使用大页面,当我运行 sysctl -a 命令时,输出中包含以下行:
vm.nr_hugepages = 0
vm.nr_hugepages_mempolicy = 0
vm.nr_overcommit_hugepages = 0
...这表明不应该为大页面分配任何内存。最后,文件 /proc/sys/vm/nr_hugepages 也显示为 0,这再次表明不应该有任何大页面。
所以,我的问题是,如何禁用大页面?