大页内存配置

大页内存(Huge Pages)是一种内存管理技术,通过使用大于常规页面的内存页来减少页表的数量,从而提高系统性能。

服务器OS关闭或重启需要重新配置大页内存。

  1. 执行以下命令检查内存大页size。

    cat /proc/meminfo | grep Huge

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    [root@localhost ~]# cat /proc/meminfo | grep Huge
    AnonHugePages:    4096kB
    ShmemHugePages:   0 kB
    FileHugePages:      0 kB
    HugePages_Total:    0
    HugePages_Free:     0
    HugePages_Rsvd:     0
    HugePages_Surp:     0
    Hugepagesize:       2048 kB
    Hugetlb:                0kB
    

    Hugepagesize的回显值“2048KB”表示内存大页size。

  2. 配置大页内存。

    1
    2
    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
    

    1024为配置大页内存数量,请根据实际需求配置大页数量。

  3. 执行以下命令查看配置结果。

    • cat /proc/meminfo | grep Huge
    • cat /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    [root@localhost ~]# cat /proc/meminfo | grep Huge
     AnonHugePages: 4096 kB
     ShmemHugePages: 0 kB
     FileHugePages: 0 kB
     HugePages Total: 1024
     HugePages Free: 1024
     HugePages Rsvd: 0
     HugePages Surp: 0
     Hugepagesize: 2048 kB
     Hugetlb: 2097152 kB