In this tutorial we will learn how to create new swap file on CentOS 7 / RHEL 7. Generally on Cloud Servers ( AWS/ DigitalOcean) or VPS, swap space is not created by default. This requirement we can achieve within a few steps.
Prerequisites
Must have free space on mounted disk. You can check by using df -Th
command.
Steps to create / add new swap file on Linux
1. Create swapfile-additional file with dd command in / (root). You can select any other partition but it should be mounted (For eg. /opt, /usr ,/NewMountedPartition)
dd if=/dev/zero of=/swapfile-additional bs=1M count=4048
dd = It is a unix command used for convert and copy a file
if = read from FILE instead of stdin
/dev/zero = /dev/zero is a special file in Unix-like operating systems that provides as many null characters (ASCII NUL, 0x00) as are read from it
of = write to FILE instead of stdout
/swapfile-additional = file named swapfile-additional will be created in /
bs = Read and write bytes at a time but if you do not mention MB or GB like only number it will read as bytes. for eg. bs=1024 means 1024 bytes
count = Copy input blocks in our case it is 1024 (1M * 4048 = 4GB)
2. Run mkswap command to make swap area
mkswap /swapfile-additional
3. Change the permission of file swapfile-additional
chmod 600 /swapfile-additional
4. Permanent mounting the swap space by editing the /etc/fstab file .
Use your file editor, I generally use vi editor.
vi /etc/fstab
Paste below given content in /etc/fstab file
/swapfile-additional swap swap 0 0
5. Now mount the swap area, run below given command.
mount -a
6. Enable the swap area
swapon -a
7. Check the number swap space mounted on your system
swapon -s
8. To check how much is swap space available on system.Run below given command
free -m
Ton says
for me last step was > sudo swapon /swapfile-additional
Jim says
“mount -a” isn’t required for enabling swap partitions. “swapon -a” does the trick.
k says
it was helpful/ thanks a lot