0%

Linux 大页配置

Reference:

  1. Linux 大页内存 Huge Pages 虚拟内存

查看系统大页信息

系统默认大页配置

1
2
3
4
5
6
7
8
9
10
cat /proc/meminfo|grep -i huge

AnonHugePages: 12288 kB
ShmemHugePages: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 0 kB
  • Hugepagesize 表明系统默认大页大小为 2MB
  • HugePages_Total 为 0 表明系统目前未配置大页数量

查看系统中的大页数量

  • 查看系统中的大页数量:
1
2
3
4
5
# 2M page
cat /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
# 1G page
cat /sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages

  • 查看不同节点的大页数量:(以 node0 为例)
1
2
3
4
# 2M page
cat /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
# 1G page
cat /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages

修改系统默认大页配置

  1. Linux 启动命令行参数中添加 default_hugepagesz=1G hugepagesz=1G hugepages=4

  2. 挂载大页

1
2
3
4
5
6
7
8
9
10
11
12
#查看是否挂载
mount|grep hugetlbfs
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=1024M)
nodev on /mnt/huge type hugetlbfs (rw,relatime,pagesize=1024M)

#挂载大页内存
mount -t hugetlbfs nodev /mnt/huge
mount -t hugetlbfs hugetlbfs /mnt/huge

#也可以修改fstab,让系统启动时自动挂载
vim /etc/fstab
nodev /mnt/huge hugetlbfs pagesize=1GB 0 0

临时修改系统大页配置

  1. 临时增加某个节点的大页数量: (以 node0 为例,增加 2 个大页)
1
2
3
4
# 2M page
echo 2 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
# 1G page
echo 2 > cat /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages
  1. 临时增加整个系统的大页数量:
1
2
3
4
# 2M page
echo 2 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
# 1G page
echo 2 > /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages