Decrease swap usage
Decrease the value of
vm.swappiness, which represents the percentage of the free memory before activating swap. The lower the value, the less swapping is used and the more memory pages are kept in physical memory.
The default value is 60. You can check current value with either command below.
cat /proc/sys/vm/swappiness sysctl vm.swappiness
Recommended value is 0. To change it permanently, you need to add the following line in
vm.swappiness = 0
In some distributions, setting the value to 0 will lead to disabled swap. You may need to change the value to 1.
Deal with dirty pages
vm.dirty_ratio properly. The former contains, as a percentage of total available memory that contains free pages and reclaimable pages, the number of pages at which the background kernel flusher threads will start writing out dirty data. And the latter contains, as a percentage of total available memory that contains free pages and reclaimable pages, the number of pages at which a process which is generating disk writes will itself start writing out dirty data.
vm.dirty_background_ratio is the percentage of system memory which when dirty, system can start writing data to the disks, and
vm.dirty_ratio is the percentage of system memory which when dirty, system will block the process that is doing writes and write out dirty pages to the disks.
Default values vary with different distributions. Check current values with the command below.
sysctl -a | grep dirty
You can smooth IO with low value of
vm.dirty_background_ratio and high value of
vm.dirty_ratio. Recommended values are
vm.dirty_background_ratio = 5 and
vm.dirty_ratio = 80. Open
/etc/sysctl.conf and add the two lines below to change it.
vm.dirty_background_ratio = 5 vm.dirty_ratio = 80
And make sure
vm.dirty_bytes are both 0. Otherwise it will not take effect.
Create swap partition
Create a 1 GiB swap as an example. Simply run the commands below.
fallocate -l 1G /swap chmod 600 /swap mkswap /swap swapon /swap
To make the change permanent, open
/etc/fstab and add the line below.
/swap swap swap defaults 0 0
Run the command below to check current swap usage.
If you want to remove swap, simply adjust the
/etc/fstab file and reboot, then delete the swap file.
Add the line below in
net.ipv4.icmp_echo_ignore_all = 1
Increase open file
Add these lines in
* soft nofile 51200 * hard nofile 51200
If that does not work, change
* to your user name, e.g.
Use this command to check current value.