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大页的数量
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~