*You need to use the dd command to create swap file. The mkswap command is used to set up a Linux swap area on a device or in a file.
Step 1 – Login as the Root User
Open a terminal. Switch to the root user by typing su - (or sudo -s) and entering the root password, when prompted:$ su -
OR$ sudo -s
Step 2 – Create Storage File
Create directory for swapfile :
Type the following command to create 512MB swap file (1024 * 512MB = 524288 block size):#
mkdir /swap-space
Type the following command to create 512MB swap file (1024 * 512MB = 524288 block size):# dd if=/dev/zero of=/swap-space/swapfile bs=1024 count=524288
Sample outputs:
524288+0 records in 524288+0 records out 536870912 bytes (537 MB) copied, 3.23347 s, 166 MB/s
Where,
- if=/dev/zero : Read from /dev/zero file. /dev/zero is a special file in that provides as many null characters to build storage file called /swapfile1.
- of=
/swap-space/swapfile
: Read from /dev/zero write storage file to /swap-space/swapfile. - bs=1024 : Read and write 1024 BYTES bytes at a time.
- count=524288 : Copy only 523288 BLOCKS input blocks.
Step 3 – Secure swap file
Setup correct file permission for security reasons, enter:# chown root:root
/swap-space/swapfile
# chmod 0600 /swap-space/swapfile
A world-readable swap file is a huge local vulnerability. The above commands make sure only root user can read and write to the file.
Step 4 – Set up a Linux swap area
Type the following command to set up a Linux swap area in a file:# mkswap
/swap-space/swapfile
Sample outputs:
Setting up swapspace version 1, size = 524284 KiB no label, UUID=0e5e7c60-bbba-4089-a76c-2bb29c0f0839
Step 5 – Enabling the swap file
Finally, activate /swap-space/swapfile swap space immediately, enter:# swapon /swap-space/swapfile
Step 6 – Update /etc/fstab file
To activate /swap-space/swapfile after Linux system reboot, add entry to /etc/fstab file. Open this file using a text editor such as vi:# vi /etc/fstab
Append the following line:/swap-space/swapfile
swap swap defaults 0 0
Save and close the file. Next time Linux comes up after reboot, it enables the new swap file for you automatically.
How do I verify Linux swap file is activated or not?
Simply use the free command:$ free -m
total used free shared buffers cached Mem: 1876 1798 77 0 119 1440 -/+ buffers/cache: 237 1638 Swap: 4607 0 4607
How can I display swap usage summary on Linux?
Type the following swapon command:# swapon -s
Sample outputs:
Filename Type Size Used Priority /dev/sda6 partition 4194296 0 0 /swap-space/swapfile file 524280 0 -1