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?


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 disable the swap and delete it

     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.

  • 2
    There is no need to delete the file or use dd. It is much faster and easier to fallocate. Why would you write zeros there?
    – Pilot6
    Aug 4 '20 at 18:24
  • @Pilot6 Sure even that works. I remember that I used the above commands, hence I wrote that. I am sure that the OP owner just needs to get the work done, rather than quickly. Aug 4 '20 at 18:27
  • 3
    This was quite helpful... Thanks Jul 20 at 18:02
  • 1
    Thanks Abhay Patil. Just a note: I did not need to reboot on Ubuntu 20.04 and you can put the swapfile where you want (doesn't need to be in the root folder/drive). Jul 29 at 12:26
  • 1
    @LouisGagnon but it's better to put it in the root, because if you put it, say, into /home/user, you might accidentally delete it.
    – Programmer
    Jul 31 at 17:38
sudo su -
swapoff /swapfile  
rm  /swapfile
\# 32k -> 32GB swap size
dd if=/dev/zero of=/swapfile bs=1M count=32K
mkswap /swapfile
swapon /swapfile

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.