Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
8.2.3.3. 在引导时或运行时为客户机启用 1 GB 巨页
Red Hat Enterprise Linux 7 系统支持 2MB 和 1GB 巨页,它们可在引导时或运行时分配。
过程 8.2. 在引导时分配 1GB 巨页
- 要在引导时分配巨页大小,请使用以下命令来指定巨页数量。这个示例分配 4 个 1GB 巨页和 1024 2MB 巨页:
'default_hugepagesz=1G hugepagesz=1G hugepages=4 hugepagesz=2M hugepages=1024'
更改此命令行,以指定要在启动时分配的不同数量大页面。注意然后,在您在引导时分配 1GB 巨页时,还必须完成接下来的两个步骤。 - 在主机上挂载 2MB 和 1GB 巨页:
# mkdir /dev/hugepages1G # mount -t hugetlbfs -o pagesize=1G none /dev/hugepages1G # mkdir /dev/hugepages2M # mount -t hugetlbfs -o pagesize=2M none /dev/hugepages2M
- 将以下几行添加到虚拟机 XML 配置的 memoryBacking 部分:
<hugepages> <page size='1' unit='GiB'/> </hugepages>
- 重启 libvirtd 以在客户机上使用 1GB 巨页:
# systemctl restart libvirtd
过程 8.3. 在运行时分配 1GB 巨页
1GB 巨页也可以在运行时分配。通过运行时分配,系统管理员可以选择从哪个 NUMA 节点分配这些页面。但是,由于内存碎片,运行时页面分配可能会比引导时间分配失败更容易。
- 要在运行时分配巨页的不同大小,请使用以下命令替换巨页数的值、NUMA 节点从中分配它们,以及巨页大小:
# echo 4 > /sys/devices/system/node/node1/hugepages/hugepages-1048576kB/nr_hugepages # echo 1024 > /sys/devices/system/node/node3/hugepages/hugepages-2048kB/nr_hugepages
这个示例从node1
分配 4 个 1GB 巨页,并从node3
分配 1024 2MB 巨页。可使用上述命令随时更改这些巨页设置,具体取决于主机系统上的可用内存量。注意在运行时,您第一次分配 1GB 巨页时,还必须完成接下来的两个步骤。 - 在主机上挂载 2MB 和 1GB 巨页:
# mkdir /dev/hugepages1G # mount -t hugetlbfs -o pagesize=1G none /dev/hugepages1G # mkdir /dev/hugepages2M # mount -t hugetlbfs -o pagesize=2M none /dev/hugepages2M
- 将以下几行添加到虚拟机 XML 配置的 memoryBacking 部分:
<hugepages> <page size='1' unit='GiB'/> </hugepages>
- 重启 libvirtd 以在客户机上使用 1GB 巨页:
# systemctl restart libvirtd