You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Linux 5.14内核设置为使用1GB大小的透明大页?

1GB透明大页(THP)的支持与启用方法

一、CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y的含义

这个配置项表明你的内核架构支持PUD级别的透明大页(在x86_64架构下,PUD对应的就是1GB大小的页;其他架构可能对应不同大小,但主流x86平台上是1GB)。不过仅开启这个选项还不够,它只是提供了架构层面的基础支持,要实际使用1GB THP,还需要配合其他内核配置和运行时设置。

二、启用1GB THP的步骤

1. 确认内核编译配置

除了CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y,还需要确保以下配置已开启:

  • CONFIG_TRANSPARENT_HUGEPAGE=y:透明大页功能的基础开关,必须开启
  • CONFIG_TRANSPARENT_HUGEPAGE_PUD=y:明确启用PUD级THP的支持
  • 针对x86架构:CONFIG_X86_1GB_PAGES=y:开启硬件层面的1GB页支持(CPU需具备相应特性,比如Intel的PDPE1GB或AMD的1GB Page Extension)

2. 运行时配置

临时启用(重启后失效)

  • 先确保THP功能处于开启状态:
    echo always > /sys/kernel/mm/transparent_hugepage/enabled
    
  • 启用PUD级1GB THP:
    echo 1 > /sys/kernel/mm/transparent_hugepage/use_pud
    

永久启用(添加到内核启动参数)

在GRUB或其他引导器的内核启动参数中添加:

transparent_hugepage=always,hugepage_pud

修改后更新引导配置(比如执行update-grub),重启系统即可生效。

3. 验证是否生效

  • 查看PUD级THP的启用状态:
    cat /sys/kernel/mm/transparent_hugepage/use_pud
    
    返回1表示已启用。
  • 查看进程内存映射,确认1GB大页分配:
    pmap -x <进程PID>
    
    输出中如果出现大小为1073741824(即1GB)且标注为huge的区域,说明1GB THP已成功使用。
  • 也可以通过/proc/meminfo查看相关统计,AnonHugePages会包含1GB THP的占用量。

注意事项

  • 1GB THP需要进程拥有至少1GB的连续虚拟地址空间,内核才会尝试分配;
  • 当系统内存压力较大时,内核可能优先分配2MB THP,而非1GB;
  • 部分老旧CPU可能不支持1GB页特性,需先确认硬件兼容性。

内容的提问来源于stack exchange,提问作者Frontier_Setter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 02:05:07