ram

Since sysadmin are looking to have racing beast servers, they are confonted to the problem of performance optimization.
Nowadays it is not uncommon to see a server with 32G or 96G of RAM or even more.

Why to mount so much in memory?

Well it is the use that imposes it:

  • Virtualization
  • Video editing
  • HD compression
  • Heavy applicative consumption like clustering or high availability architectures
  • etc

In this blog we will speek about swapiness which is a kernel module that defines when linux has to start to write in the SWAP (an allocated space in the disk) to relieve the RAM.
It may seem obvious that with access times in milliseconds for Hard Disk and in nanoseconds for RAM, it is better to write in the RAM.

Recap:

vm.swappiness = 0 : Swapping will be activated urgently only to avoid out of memory condition.
vm.swappiness = 60 : This is the default value and means that from 40% of Ram occupancy, the kernel writes to the swap.
vm.swappiness = 10 : This what is recommended to improve performance.
vm.swappiness = 100 : The kernel will swap aggressively.

To see your swappiness setting :

cat /proc/sys/vm/swappiness
60

Let’s consider that we have a server having 32G of RAM. fixing the swappiness to 5 is enough since kernel will use swap only when the free RAM space is less or equal to 1.6G.

As root set the swappiness value:

echo 5 > /proc/sys/vm/swappiness

or alternatively, run:

sysctl -w vm.swappiness=5

Verify your changes:

cat /proc/sys/vm/swappiness
5

or:

sysctl vm.swappiness
vm.swappiness = 5

To change this value permanently edit /etc/sysctl.conf and modify (or add if not exist):

vm.swappiness = 5

apply modification:

sysctl -p
swappoff -a && swapon -a

I hope that this blog helped you. Please visit our website for other interesting blogs and feel free to leave your feedbacks and thoughts. Till next time!

The following two tabs change content below.
I am a hands-on, competent Linux system engineer with 9 years’ experience. I have a strong performance background in wide variety of professional Linux system support including monitoring, configuration, troubleshooting and maintenance. I have worked on numerous projects from concept to completion. A specialist in LAMP platforms, I take pride in administrating Linux systems and regularly refresh my skills to ensure I keep up with ongoing developments and new technologies.