UsageToday, I want to talk about the SWAP, and to increase his size, reduce it or configure the system to load it at boot. Before talking about that, I would like to describe briefly what Ram and SWAP are used for. Ram, and in some situation SWAP, are used by processes to work. To understand better, a picture is often a good idea.
As you can see in the picture from wikipedia, the swap is a space disk used when the ram space is full. It is always slower than the ram (until disk access are faster than ram access, but it is not for tomorrow). The space disk for the swap must have a specific format and has a size. It is common to determine the size to 1,5 x ram. Nevertheless, this value could be very important, especially when you have a big amount of ram. For example, with 16 go of ram, 1,5 x this is 24 go, it is a lot ! Today, unless you have specific usage like using a lot of virtual machine or in a server architecture, it is very rare to use more than 16 go. (Of course, if you have a small amount of ram, this will happen more often). That's why, I recommend you to fix a small size, for example, 0,1 * ram size and to improve it depending of your usage. Of course, if you have many Giga octet free, you could increase this size, but if you never use it, it is a waste of space disk.
ManagementThe swap file could be stored in a specific partition. To keep this article as simple as possible, we will not talk about this case. To begin with, we have to determine how much ram and swap do we have ? We can use the top command to know that. In my case, I have ~= 2go (2009380) of ram and I have decided to fix the swap to ~= 512 mo (524284). Let's guess that 512 mo is not enough and we would like to increase the size to 1go. To do that, we have to follow this procedure:
- identify where is the swap file and his size swapon -s
- deallocate the swap swapoff /swap
- delete the previous swapp file rm /swap
- create a new file with specific size dd if=/dev/zero of=/pathToTheNewSwap bs=1024 count=1M*if you want 512 mo, replace 1M by 512k
- format the new file to a swap format mkswap /pathToTheNewSwap
- configure the system to use the new swap as swap swapon /pathToTheNewSwap
- configure the system to load it at each boot, you have to delete the line about the previous swap file and add a line for the new one.
vi /etc/fstab /pathToTheNewSwap swap swap sw 0 0