Adding Swap space on Linux

Most of time swap space is allocated during the installation, However, sometimes it is necessary to add more swap space after installation. For example, you may upgrade the amount of RAM in your system from 1 GB to 2 GB, but there is only 2 GB of swap space.

It might be advantageous to increase the amount of swap space to 4 GB if you perform memory-intense operations or run applications that require a large amount of memory.
You have three options:

create a new swap partition
create a new swap file
extend swap on an existing LVM2 logical volume

It is recommended that you extend an existing logical volume.

Swap on an LVM2 Logical Volume

By default, Red Hat Enterprise Linux 7 uses all available space during installation. If this is the case with your system, then you must first add a new physical volume to the volume group used by the swap space.
After adding additional storage to the swap space's volume group, it is now possible to extend it. To do so, perform the following procedure (assuming /dev/VolGroup00/LogVol01 is the volume you want to extend by 2 GB):

Extending Swap on an LVM2 Logical Volume

1. Disable swapping for the associated logical volume:

# swapoff -v /dev/VolGroup00/LogVol01

2. Resize the LVM2 logical volume by 2 GB:

# lvresize /dev/VolGroup00/LogVol01 -L +2G

3. Format the new swap space:

# mkswap /dev/VolGroup00/LogVol01

4. Enable the extended logical volume:

# swapon -v /dev/VolGroup00/LogVol01

To test if the logical volume was successfully extended, use cat /proc/swaps or free to inspect the swap space.

Creating an LVM2 Logical Volume for Swap

To add a swap volume group (assuming /dev/VolGroup00/LogVol02 is the swap volume you want to add):

1. Create the LVM2 logical volume of size 2 GB:

# lvcreate VolGroup00 -n Log Vol02 -L 2G

2. Format the new swap space:

# mkswap /dev/VolGroup00/LogVol02

3. Add the following entry to the /etc/fstab file:

# /dev/VolGroup00/LogVol02 swap swap defaults 0 0

4. Enable the extended logical volume:

# swapon -v /dev/VolGroup00/LogVol02

To test if the logical volume was successfully created, use cat /proc/swaps or free to inspect the swap space.

Creating a Swap File

In most cases, no one would use swap file for swap space. In case someone want to have a try, here is the steps to add a swap file:

1. Determine the size of the new swap file in megabytes and multiply by 1024 to determine the
number of blocks. For example,

the block size of a 64 MB swap file is 65536.

2. At a shell, type the following command with co unt being equal to the desired block size:

# dd if=/dev/zero of=/swapfile bs= 1024 count= 65536

3. Setup the swap file with the command:

# mkswap /swapfile

4. Change the security of the swapfile so it is not world readable.

# chmod 0600 /swapfile

5. To enable the swap file immediately but not automatically at boot time:

# swapon /swapfile

6. To enable it at boot time, edit /etc/fstab to include the following entry:

/swapfile swap swap defaults 0 0

The next time the system boots, it enables the new swap file.

To test if the new swap file was successfully created, use cat /proc/swaps or free to inspect the swap space.