更新时间:2025-07-21 GMT+08:00

常见场景与调优建议

推荐配置:通用业务场景

开启madvise模式,仅在需要时才使用大页:

echo madvise > /sys/kernel/mm/transparent_hugepage/enabled

内存整理使用defer+madvise,后台合并且仅针对显式请求:

echo defer+madvise > /sys/kernel/mm/transparent_hugepage/defrag

数据库或延迟敏感服务

数据库如MySQL、PostgreSQL、Redis对性能抖动敏感,建议关闭THP:

echo never > /sys/kernel/mm/transparent_hugepage/enabled

如需永久关闭,可在启动参数中加入:

sudo grubby --args="transparent_hugepage=never" --update-kernel="/boot/vmlinuz-$(uname -r)" sudo reboot

控制khugepaged活跃度

如果系统中khugepaged守护进程的CPU使用率较高时,可以考虑以下配置降低khugepaged守护进程活跃度。

降低khugepaged扫描频率:

echo 30000 > /sys/kernel/mm/transparent_hugepage/khugepaged/scan_sleep_millisecs

增加分配失败后的重试间隔:

echo 120000 > /sys/kernel/mm/transparent_hugepage/khugepaged/alloc_sleep_millisecs

减少每次扫描页数:

echo 2048 > /sys/kernel/mm/transparent_hugepage/khugepaged/pages_to_scan

禁用khugepaged自动整理功能(如确实需要):

echo 0 > /sys/kernel/mm/transparent_hugepage/khugepaged/defrag