Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

7.4. 配置 THG

Transparent Huge Pages(THP)是 HugeTLB 的替代解决方案。使用 THP 时,内核会自动为进程分配巨页,因此不需要手动保留巨页。
THP 功能有两种操作模式:系统范围以及每个进程。当在系统范围内启用 THP 时,当有可能分配大页面且进程使用很大的连续虚拟内存区域时,内核会尝试为任何进程分配大页面。如果每个进程启用了 THP,则内核只为使用 madvise() 系统调用指定的单个进程的内存区域分配巨页。
请注意,THP 功能只支持 2-MB 页面。默认启用透明大内存页。要查看当前状态,请运行:
# cat /sys/kernel/mm/transparent_hugepage/enabled
要启用透明巨页,请运行:
# echo always > /sys/kernel/mm/transparent_hugepage/enabled
要防止应用程序分配超过必要数量的内存资源,您可以通过运行以下命令在 MADV_HUGEPAGE madvise 区域中禁用巨页:
# echo madvise > /sys/kernel/mm/transparent_hugepage/enabled
要禁用透明巨页,请运行:
# echo never > /sys/kernel/mm/transparent_hugepage/enabled
有时,为短期的分配提供低延迟的优先级高于立即通过长期分配实现最佳性能。在这种情况下,可以在启用 THP 时禁用 直接压缩
直接紧凑是在巨页分配期间异步内存紧凑。禁用直接紧凑不保证保存内存,但可以降低频繁页面错误时出现较高延迟的风险。请注意,如果工作负载显著受益于 THP,性能会降低。要禁用直接压缩,请运行:
# echo madvise > /sys/kernel/mm/transparent_hugepage/defrag
有关透明大内存页的综合信息,请查看 /usr/share/doc/kernel-doc-kernel_version/Documentation/vm/transhuge.txt 文件,该文件可在安装 kernel-doc 软件包后可用。