Linux内存管理 - 大页 (三)

静态大页可以通过两种方法来设置

1. 检查 /proc/meminfo, 确认系统支持HugePage

  

  HugePages_Total: 系统中配置的大页数

  HugePages_Free:没有访问过的大页数

  HugePage_Rsvd:  已经分配但是还未使用的页面数

2.  配置静态大页

  • 通过在bootargs传参在系统启动过程中预留大页

    bootargs参数: 预分配大页数量hugepages和预分配大页的大小hugepagessz

    *开机时就通过bootmem分配大页, 不存在因为内存碎片导致分不出大页的情况, 从而保证预留的成功性。 

  • 通过sysfs下的文件节点申请和释放大页
    • echo 5 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages

      含义:保持系统中2MB的大页有5个。若已经存在5个大页则什么都不做;若少于5个则分配够5个;若多于5个则释放多余的大页(前提是未被使用)。

    • echo 5 > /sys/devices/system/node/node[0-9]*/hugepages/hugepages-2048kB/nr_hugepages

      含义:在指定的numa node上分配5个指定大小(2MB)的大页。

    • cat /sys/kernel/mm/hugepages/hugepages-2048kB/free_hugepages

      含义:查看系统中空闲的的2MB大页的数量

posted @ 2023-07-17 22:06  球球小世界  阅读(558)  评论(0编辑  收藏  举报