Why dont changes to the swappiness remain permanent after reboot?
System Ubuntu 14.04
I want to change my swappiness from the default 60 to 10. According to this answer https://askubuntu.com/a/103916/71679 I need to log in as root and edit /proc/sys/vm/swappiness
and add or edit to vm.swappiness = 10
When opening that file as root I only see the number 60 when I add vm.swappiness = 10
and try to save I get Error writing /proc/sys/vm/swappiness: Invalid argument
If I simply change 60 to 10 the file saves without issue I check the changes take place with cat /proc/sys/vm/swappiness
it shows the changes took place
By editing this file as root I was under the assumption the changes would remain permanent but once I shut down and restart the default is back to 60. Why aren't the changes remaining permanent? What writes the file back to 60 after reboot?
Solution 1:
If you want to set the swapiness
without rebooting you could execute the following command:
echo 10 > /proc/sys/vm/swappiness
This will set the swapiness
to 10 in this case. You can only echo a number because all this will do is call a kernel function to set the swapiness
to 10 and this function only accepts numbers (this explains why you get a invalid argument error: you're trying to write other characters than numbers).
However, this is only temporary. The value will be reset at the next reboot to the default value.
To make the change permanent:
-
Edit
/etc/sysctl.conf
as rootsudo nano /etc/sysctl.conf
-
Add the following line to the file:
vm.swappiness = 10
Save the file using CTRL + X
The changes made to sysctl.conf
will apply on reboot or you can reload them using sudo sysctl -p
(so sudo sysctl -p
will have the same effect as echo 10 > /proc/sys/vm/swappiness
in this case).