更改 sysctl.conf 中的 swappiness 对我来说不起作用

更改 sysctl.conf 中的 swappiness 对我来说不起作用

我正在使用 12.04 LTS,可以使用 sudo sysctl 将 swappiness 设置为 10,但将 vm.swappiness=10 添加到 sysctl.conf 对我来说不起作用 - 重新启动后,swappiness 仍然报告 60(默认值)

我希望能够减少 SSD 的交换,但除了每个会话手动操作外,找不到其他方法。修改 sysctl.conf 似乎对大多数人都有效 - 有人能建议我需要检查/更改什么才能让它对我有用吗?

答案1

我通常会创建自定义规则,/etc/sysctl.d/而不是编辑主sysctl文件。将目录更改为sysctl.d并创建文件:

cd /etc/sysctl.d/ 
sudo touch 60-my-swappiness.conf

然后运行你最喜欢的文本编辑器:

sudo nano 60-my-swappiness.conf

在文件顶部输入您的值,例如vm.swappiness = 10(必须有空格swappiness 和所示的值之间)。

正如它在自述运行/etc/sysctl.d/

sudo service procps start

让系统读取新值然后重新启动。

60我们在开始时使用的原因my-swappiness.conf是,这样您的自定义规则就会覆盖目录中的任何其他规则。

检查您是否具有正确的 swappiness

cat /proc/sys/vm/swappiness
10

这对我有用,但关于交换和交换性的更多指导Ubuntu 指南如果您需要更详细的信息。

答案2

  1. 查看 swappiness 设置的当前值:

    sudo cat /proc/sys/vm/swappiness (这里应该给出 60 这个数字)

  2. 将值更改为较小的数字

    sudo sysctl -w vm.swappiness=5

  3. 再次检查该值。

    sudo cat /proc/sys/vm/swappiness (现在,它应该在这里给出值 5)

  4. gksu gedit /etc/sysctl.conf

    将以下行粘贴到打开的文本文件中:

    vm.swappiness = 5

(您vm.swappiness=10何时应该阅读vm.swappiness = 10

  1. 重启。

  2. 再次检查设置以确认已做出更改:

    sudo cat /proc/sys/vm/swappiness (现在这里应该给出数字 5)

相关内容