我需要禁用 THP(透明大页)。网络上的许多教程建议为以下选项设置never
(0
最后一个)值。
- /sys/kernel/mm/transparent_hugepage/enabled
- /sys/内核/mm/transparent_hugepage/defrag
- /sys/kernel/mm/transparent_hugepage/khugpaged/defrag
我的问题是 - 既然 THP 将被禁用,那么禁用碎片整理选项也很重要吗?在这种情况下,我可以认为最后两个选项不重要吗?我找不到任何可以确认的文档。
答案1
事实证明,内核文档很有帮助。该页面准确地说:https://www.kernel.org/doc/Documentation/vm/transhuge.txt
对匿名内存的透明大页支持可以完全禁用(主要用于调试目的)或仅在 MADV_HUGEPAGE 区域内启用(以避免消耗更多内存资源的风险)或在系统范围内启用。这可以通过以下之一来实现:
始终回显 > /sys/kernel/mm/transparent_hugepage/enabled
echo madvise > /kernel/mm/transparent_hugepage/enabled
echo 从不 > /sys/kernel/mm/transparent_hugepage/enabled
还有下面几段。
当transparent_hugepage/enabled设置为“always”或“madvise”时,khugepaged会自动启动,如果设置为“never”,则会自动关闭。
没有关于对/sys/kernel/mm/transparent_hugepage/defrag
期权影响的具体信息。然而,既然他们说将选项设置/sys/kernel/mm/transparent_hugepage/enabled
为绝不将完全禁用 THP,我只能假设 - 事实上 - 忽略其他选项是安全的,因为它们不会对禁用的功能产生任何影响。