首页/云/云平台与虚拟化速查/KVM 大页内存与内存后端配置
虚拟化操作94 条

KVM 大页内存与内存后端配置

大页(hugepages)减少 TLB 缺失、降低页表开销,适合内存密集型虚机;需先在宿主预留静态大页,再在域 XML 的 memoryBacking 中声明。

云平台与虚拟化速查云更新于 2026-10-12
查看现状cat /proc/meminfo | grep -i huge
预留 2MiB 大页echo <页数> > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
域侧声明<memoryBacking><hugepages/></memoryBacking>
校验virsh dumpxml 查看 hugepages 是否生效

示例:预留 4096 个 2MiB 大页(约 8GiB)

示例:预留 4096 个 2MiB 大页(约 8GiB)
echo 4096 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
cat /proc/meminfo | grep -i hugepages
# 域 XML:<memoryBacking><hugepages/></memoryBacking>
virsh dumpxml vm1 | grep -i hugepages
静态大页长期占用宿主内存;虚机内存与页数要匹配,预留不足会导致启动失败。

易错点

  • 只改 XML 未预留宿主大页:启动报 cannot allocate memory

数据来源与参考

  • libvirt 文档:Memory backing(hugepages)
  • Linux 内核文档:hugetlbpage
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌