---
title: 开启内存大页
description: "开启内存大页减少内存访问的页表层级和TLB未命中次数，显著降低网络协议栈处理数据时的内存管理开销，从而提升网络吞吐量并降低延迟。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengcpfs/systuningguide/systemtg/kunpeng_shty_zn_64_005.html
sourcePath: /source/zh/kunpengcpfs/systuningguide/systemtg/kunpeng_shty_zn_64_005.html
indexId: e6b418c3cab1fa622085b6f5fb9f66de2c86455bce49a5d6c6c0e0e61dc6fbcf74
---
# 开启内存大页

开启内存大页减少内存访问的页表层级和TLB未命中次数，显著降低网络协议栈处理数据时的内存管理开销，从而提升网络吞吐量并降低延迟。

1. 修改cmdline启动参数。以下开启内存大页的方式为永久开启，是在启动参数中添加目标大页大小与数量。

  a. 打开grub2-efi.cfg文件。

```
vim /etc/grub2-efi.cfg
```


  b. 按“i”进入编辑模式，在cmdline中增加“default_hugepagesz=2M hugepagesz=2M hugepages=50000”。如下图所示，默认大页大小为2M，数量为50000。
  c. 按“Esc”键退出编辑模式，输入:wq!，按“Enter”键保存并退出文件。
  d. 使用reboot命令重启服务器。
2. 确认内存大页配置情况。
  1 cat /proc/sys/vm/nr_hugepages

3. 虚拟机XML中配置内存大页。
  1 virsh edit 虚拟机名称

  如下所示，在page size中指定大小，即是虚拟机启用的内存大页大小。 1 2 3 4 5 6 7 8 9 <domain type = 'KVM'> ... <memoryBacking> <hugepages> <page size='2048' unit='KiB'/> </hugepages> </memoryBacking> ... <domain>
