如何修改“/ sys / kernel / mm / transparent_hugepage / enabled”

Modified on: Sat, 09 Jun 2018 11:54:53 +0800

我使用mongodb 3.0并发现警告:

MongoDB shell version: 3.0.0
connecting to: test
Server has startup warnings: 
2015-03-13T16:28:29.405+0800 I CONTROL  [initandlisten] 
2015-03-13T16:28:29.406+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2015-03-13T16:28:29.406+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2015-03-13T16:28:29.406+0800 I CONTROL  [initandlisten] 
2015-03-13T16:28:29.407+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2015-03-13T16:28:29.407+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2015-03-13T16:28:29.407+0800 I CONTROL  [initandlisten]


~# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never

~# cat /sys/kernel/mm/transparent_hugepage/defrag
[always] madvise never

我尝试使用echo,但它不是永久性的,重新启动后它将被重置。

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

如何永久修改/sys/kernel/mm/transparent_hugepage/enabled

最佳答案

你可以

  1. 安装sysfsutils包:

    sudo apt install sysfsutils
    
  2. 并在/etc/sysfs.conf后附加一行该设置:

    kernel/mm/transparent_hugepage/enabled = never
    
  3. 醇>

    这是最干净的解决方案,因为它将所有sysfs配置保存在一个位置,而不是依赖于自定义启动脚本。如果您不知道内核将通过哪个路径公开该设置,那么使用脚本和条件表达式的其他答案是合适的。即如果你甚至不知道在受影响的机器上运行的内核版本。


相关问答

添加新评论