什么是大页面(hugepages)

HugePages 是一个集成到 Linux 内核 2.6 版的特性。
此功能基本上提供了提供更大页面的 4K 页面大小(IA64 为 16K)的替代方案。
HugePages 是一种拥有更大页面的方法,它对于处理非常大的内存很有用。

更多: zhilu jiaocheng

检查确认

要验证大页面参数设置,请使用以下两种方法之一:

  1. 检查文件 /proc/meminfo :
# cat /proc/meminfo | grep Huge
HugePages_Total:    10
HugePages_Free:     10
HugePages_Rsvd:      0
Hugepagesize:     2048 kB

其中:
HugePages_Total 大页面池的大小。

HugePages_Free 池中尚未使用的巨页数。

HugePages_Rsvd 承诺从池中分配但尚未分配的巨页数。

HugePages_Surp 是“surplus”的缩写,是池中高于 /proc/sys/vm/nr_hugepages 值的大页面数。
剩余大页面的最大数量由 /proc/sys/vm/nr_overcommit_hugepages 控制。

  1. 使用 sysctl 命令:
# sysctl a | grep nr_hugepages
vm.nr_hugepages = 10

如何计算大页面

使用的大页面可以通过以下方法计算。
在下面的公式中使用来自 'cat /proc/meminfo' 输出的值。

HugePages_Total - HugePages_Free = HugePages_Used
CentOS/RHEL 6,7:如何配置大页面

使用内核可调参数 vm.nr_hugepages 配置大页面

  1. 编辑/etc/sysctl.conf 文件,在nr_hugepages 参数中指定hugepages 的数量。
    该条目使参数在重新启动后保持不变,但在我们运行下一步中描述的“sysctl -p”命令之前不会生效。
# vi /etc/sysctl.conf
vm.nr_hugepages = 10
  1. 执行'sysctl -p'命令启用hugepages参数。
# sysctl -p
...
vm.nr_hugepages = 10

注意:建议在配置大页面后重新启动系统,因为在系统启动时有可用的连续内存(用于大页面分配)的机会要大得多。

日期:2020-09-17 00:11:55 来源:oir作者:oir