系统 Ubuntu 14.04
我想将我的 swappiness 从默认的 60 更改为 10。根据这个答案https://askubuntu.com/a/103916/71679我需要以 root 身份登录并编辑/proc/sys/vm/swappiness
并添加或编辑到vm.swappiness = 10
以 root 身份打开该文件时,我在添加vm.swappiness = 10
并尝试保存时只看到数字 60我收到错误写入 /proc/sys/vm/swappiness: Invalid argument
如果我只是将 60 更改为 10,则文件可以毫无问题地保存,我会检查发生的更改,cat /proc/sys/vm/swappiness
它显示发生了更改
通过以 root 身份编辑此文件,我假设更改将保持永久,但一旦我关闭并重新启动,默认值将恢复为 60。为什么更改不保持永久?重启后文件写回 60 是什么意思?
Lou*_*sen 23
如果你想在swapiness
不重启的情况下设置你可以执行以下命令:
echo 10 > /proc/sys/vm/swappiness
Run Code Online (Sandbox Code Playgroud)
swapiness
在这种情况下,这会将 设置为 10。您只能回显一个数字,因为所有这一切都是调用内核函数将 设置swapiness
为 10 并且该函数只接受数字(这解释了为什么您会收到无效参数错误:您正在尝试写入数字以外的其他字符)。
然而,这只是暂时的。该值将在下次重新启动时重置为默认值。
要使更改永久化:
/etc/sysctl.conf
以 root 身份编辑
sudo nano /etc/sysctl.conf
Run Code Online (Sandbox Code Playgroud)将以下行添加到文件中:
vm.swappiness = 10
Run Code Online (Sandbox Code Playgroud)使用CTRL+保存文件X
所做的更改sysctl.conf
将在重新启动时应用,或者您可以使用重新加载它们sudo sysctl -p
(因此sudo sysctl -p
将具有与echo 10 > /proc/sys/vm/swappiness
本例相同的效果)。