Increase swap in 20.04

I’m running Ubuntu 20.04, and I’m trying to create a hibernate command. I’m following these instructions.

Step 2 says

Then check whether the swap memory you allocated is more than or at least equal to the Physical memory(RAM).

I did that, and my /swapfile is 2 GB. I have 16 GB RAM, so I need to increase the size of that swap file. How do I do that in Ubuntu?

Here is Solutions:

We have many solutions to this problem, But we recommend you to use the first solution because it is tested & true solution that will 100% work for you.

Solution 1

In sleep mode, the content of ram is kept as it is, and the computer works on a very low power mode, so as to keep the ram content intact (as ram will lose the data if power supply is cut to it). But in hibernation, the ram content is stored in the swap space, so power can be completely cut off. Hence it is recommended to have swap size as large as the ram size.

  1. First, find the swap file, disable and delete it

     swapon --show
     NAME      TYPE SIZE USED PRIO
     /swapfile file   2G   0B   -2
    
     sudo swapoff /swapfile  
     sudo rm  /swapfile
    
  2. Create new swap space of size 16 GB (16 * 1024 = 16384). bs is the block size. Basically bs * count = bytes to be allocated (in this case 16 GB). Here bs = 1M (M stands for mega, so we are assigning 1MB block size) and we are allocating 16384 * 1MB (=16GB) to swap.

     sudo dd if=/dev/zero of=/swapfile bs=1M count=16384
    
  3. Give it the read/write permission for root

     sudo chmod 600 /swapfile
    
  4. Format it to swap

     sudo mkswap /swapfile
    
  5. Turn on swap again

     sudo swapon /swapfile
    
  6. Now reboot the PC for the above changes to take place.

Solution 2

sudo su -
swapoff /swapfile  
rm  /swapfile
\# 32k -> 32GB swap size
dd if=/dev/zero of=/swapfile bs=1M count=32K
mkswap /swapfile
swapon /swapfile
Ctrl+D

Solution 3

Below steps worked for me with fallocate approach

  1. Check for the Swap Information

sudo swapon --show

Output will be something like below,

NAME      TYPE   SIZE   USED   PRIO
/swapfile file    2G     0G    -2
  1. Deactivate the swap space

sudo swapoff /swapfile

  1. Use fallocate to instantly creates a file with the specified size.

sudo fallocate -l 16G /swapfile

  1. Set the swap space

sudo mkswap /swapfile

  1. Activate the swap space

sudo swapon /swapfile

Now the output will be something like below,

NAME      TYPE   SIZE   USED   PRIO
/swapfile file   16G     0B    -2

Cheers!

Note: Use and implement solution 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply