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

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

我希望能够减少到我的SSD的交换,但除了每个会话手动之外无法找到一种方法。 修改sysctl.conf似乎最适用 – 有人可以建议我需要检查/更改以使其对我有用吗?

我通常做的是在/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/中的自述 /etc/sysctl.d/所建议的那样,运行

 sudo service procps start 

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

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

检查您是否具有正确的swappiness

 cat /proc/sys/vm/swappiness 10 

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

  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)