我正在使用 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
查看 swappiness 设置的当前值:
sudo cat /proc/sys/vm/swappiness
(这里应该给出 60 这个数字)将值更改为较小的数字
sudo sysctl -w vm.swappiness=5
再次检查该值。
sudo cat /proc/sys/vm/swappiness
(现在,它应该在这里给出值 5)gksu gedit /etc/sysctl.conf
将以下行粘贴到打开的文本文件中:
vm.swappiness = 5
(您vm.swappiness=10
何时应该阅读vm.swappiness = 10
)
重启。
再次检查设置以确认已做出更改:
sudo cat /proc/sys/vm/swappiness
(现在这里应该给出数字 5)