ITPub博客

首页 > Linux操作系统 > Linux操作系统 > AnonHugePages简述

AnonHugePages简述

原创 Linux操作系统 作者:sqysl 时间:2026-08-12 16:35:34 0 删除 编辑

AnonHugePages是指透明大页(Transparent Huge Pages,简称 THP),它是Linux内核的一种内存管理机制,用于自动将普通页(通常为 4KB)合并为大页(通常为 2MB 或更大),以提高内存访问效率。
1.优点
1)减少页表项:由于每个大页覆盖的内存范围更大,因此需要的页表项更少,从而减少了页表的开销。
2)提高 TLB 命中率:TLB(Translation Lookaside Buffer)是 CPU 中用于缓存虚拟地址到物理地址映射的缓存。使用大页可以减少 TLB 缓存的压力,提高命中率,从而提高内存访问速度。
3)减少内存碎片:透明大页可以减少内存碎片,提高内存利用率。
2.统计
/proc/meminfo 文件中,可以看到 AnonHugePages 的统计信息。例如:
AnonHugePages: 139264 kB
这表示当前系统中使用的透明大页的总内存大小为 139264 KB。
3.与HugePages区别
透明大页(THP)与传统的大页(HugePages)有一些重要区别:
1)分配 方式:HugePages 是预先分配的,而透明大页是动态分配的。
2)管理方式:HugePages 需要手动配置和管理,而透明大页由内核自动管理。
3)统计方式:HugePages 的统计信息在 /proc/meminfo 中独立显示,而透明大页的统计信息与其他内存统计项有重叠。
4.配置
可以通过以下命令查看透明大页是否启用:
#cat /sys/kernel/mm/transparent_hugepage/enabled
输出结果可能为 always(表示启用)、never(表示禁用)或 madvise(表示仅在带有 MADV_HUGEPAGE 标志的 VMA 中使用 THP)。
要禁用透明大页,可以编辑 /etc/default/grub 文件,将 transparent_hugepage=never 添加到 GRUB_CMDLINE_LINUX 变量中,然后更新 grub 并重启系统。
GRUB_CMDLINE_LINUX="... transparent_hugepage=never"
#grub2-mkconfig -o /boot/grub2/grub.cfg
#reboot

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8484829/viewspace-3179620/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
大学毕业至今,一直深耕于数据库领域20余载,擅长数据库优化、数据库分析诊断、数据库规划设计等,曾任职多家知名大型企业,多次独立承担并成功上线关键大型项目。

注册时间:2008-06-27

  • 博文量
    365
  • 访问量
    725249