Skip to content

大页 ​


更新于 2021-04-06

此处只介绍大页内存配置

Ubuntu下配置 ​

大页类型 ​

通过检测CPU标志,确定可以支持的大页类型。
例如:intel架构下cpu

pse--支持2M
pdpe1gb--支持1gb

大页配置 ​

系统启动前,修改linux命令行,可以隔离隔离内存。 例如分配大页为1G得,一共分配4G,命令如下:

shell
#hugepagesz:大页大小
#hugepages:大页个数
#default_hugepagesz:默认大页大小
default_hugepagesz=1G hugepagesz=1G hugepages=4

系统启动后,可以往/sys/devices/下得nr_hugepages文件写大页数量。 例如分配大页类型为2M得,一共1024页,命令如下:

shell
echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages

#如果有多个numa节点,则可以精细配置。
echo 1024 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
echo 1024 > /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages

系统启动后,无法通过修改nr_hugepages分配1G大页。

挂载 ​

现在Linux系统默认把大页挂载在/dev/hugepages
如果要修改目录则需要手动挂载

shell
mkdir /mnt/huge
mount -t hugetlbfs pagesize=1GB /mnt/huge

永久挂载大页

shell
#在/etc/fstab文件中添加:
nodev /mnt/huge_1GB hugetlbfs pagesize=1GB 0 0

删除大页 ​

shell
rm /dev/hugepages/*

Redhat ​

shell
#配置参数与步骤同上

#uefi启动,更新grub
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
#bios启动,更新grub
grub2-mkconfig -o /boot/grub2/grub.cfg

参见:文档

大页管理 ​

shell
hugeadm -h
#各个发行版,可能安装包不一样