配置HugePage

翻译自https://www.thegeekdiary.com/centos-rhel-67-how-to-configure-hugepages/

什么是HugePage

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

使用内核可调vm.nr_hugepages配置hugepages

1. 编辑/etc/sysctl.conf文件,并在nr_hugepages参数中指定hugepages的数量。该条目使参数在重新引导时保持不变,但在运行下一步中描述的' sysctl -p '命令之前不会生效。

# vi /etc/sysctl.conf
vm.nr_hugepages = 10

2. 执行' sysctl -p '命令以启用hugepages参数。

# sysctl -p
...
vm.nr_hugepages = 10

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

验证

要验证hugepages参数设置,可以对下面给出的两个方法使用任意一个:
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 -是“盈余”的缩写,是池中超过/proc/sys/vm/nr_hugepages值的巨大页面数。最大剩余的巨大页面数量由/proc/sys/vm/nr_overcommit_hugepages控制。

2. 使用sysctl命令:

# sysctl a | grep nr_hugepages
vm.nr_hugepages = 10

如何计算hugepage?

可采用以下方法计算。使用下面公式中“cat /proc/meminfo”的outpur值。

HugePages_Total - HugePages_Free = HugePages_Used

  

原文地址:https://www.cnblogs.com/brucekun/p/9469209.html