8.2.3.2. 配置静态大页


在某些情况下,最好对巨页进行更大的控制。 要在客户机上使用静态巨页,请使用 virsh edit 将以下内容添加到 guest XML 配置中:
<memoryBacking>
        <hugepages/>
</memoryBacking>
这指示主机使用大页面将内存分配到虚拟客户机,而不使用默认的页面大小。
运行以下命令来查看当前的巨页值:
cat /proc/sys/vm/nr_hugepages

过程 8.1. 设置巨页

以下示例步骤显示了用于设置巨页的命令。
  1. 查看当前的巨页值:
    # cat /proc/meminfo | grep Huge
    AnonHugePages:      2048 kB
    HugePages_Total:       0
    HugePages_Free:        0
    HugePages_Rsvd:        0
    HugePages_Surp:        0
    Hugepagesize:       2048 kB
  2. 巨页的增量为 2MB。要将巨页数量设置为 25000,请使用以下命令:
    echo 25000 > /proc/sys/vm/nr_hugepages
    注意
    要使设置持久,请在客户端机器上的 /etc/sysctl.conf 文件中添加以下行,X 是预期的巨页数:
    # echo 'vm.nr_hugepages = X' >> /etc/sysctl.conf
    # sysctl -p
    
    之后,通过将 transparent_hugepage=never 添加到客户端 /etc/grub2.cfg 文件中的 /kernel 行的末尾,为内核引导参数添加 transparent_hugepage=never。
  3. 挂载巨页:
    # mount -t hugetlbfs hugetlbfs /dev/hugepages
  4. 将以下几行添加到虚拟机 XML 配置的 memoryBacking 部分:
    <hugepages>
      <page size='1' unit='GiB'/>
    </hugepages>
    
  5. 重启 libvirtd
    # systemctl restart libvirtd
    • 启动虚拟机:
      # virsh start virtual_machine
    • 如果虚拟机已在运行,重启它:
      # virsh reset virtual_machine
  6. 验证 /proc/meminfo 中的更改:
    # cat /proc/meminfo | grep Huge
    AnonHugePages:         0 kB
    HugePages_Total:   25000
    HugePages_Free:    23425
    HugePages_Rsvd:        0
    HugePages_Surp:        0
    Hugepagesize:       2048 kB
巨页不仅可能有益于主机,而且客户机总数必须小于主机中的可用值。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部