48

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?

Yehuda
  • 608

3 Answers3

87

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.

TommyPeanuts
  • 1,147
Abhay Patil
  • 2,793
25

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

  1. Now check for the Swap Information

sudo swapon --show

Now the output will be something like below,

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

Cheers!

Muniraj
  • 889
  • 1
  • 9
  • 11
1
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