13

I did a clean install of Ubuntu 18.04 Desktop.

I used the graphical installer and chose "Encrypt the new Ubuntu installation for security".

It used by default LVM and created a partition for the swap instead of the file. Here is sudo swapon -s result:

eviatan89@leviatan89-K55VD:~$ sudo swapon -s
Filename                Type        Size    Used    Priority
/dev/dm-2                               partition   1003516 999448  -2

I need to increase the size as I am having lots of problems running low on RAM.

As curiosity, problems come when using Cassandra and Firefox with several open tabs (including YouTube). My system got 6GB of RAM.

Thanks a lot for your help!

22

The easiest solution would be to add a swap file. If you are already encrypting your root file system, I would not bother with an encrypted swap file, which is only a little more difficult, but it is slower. The advantage of a swap file is that you can remove it later to regain the disk space. And the disk is already encrypted!

The steps are straightforward. First, make the file. For example, this would make 1GB of new swap:

sudo dd if=/dev/zero of=/swapfile bs=1024 count=1024k

The of=/swapfile tells dd to put the new swap file in /swapfile. You can call it anything you want. You can add multiple swap files, too. For recent Linux kernels, the speed is the same as a swap partition.

Then, you need to format the swap file as swap space, like so:

sudo mkswap /swapfile

This command will give you some output like:

Setting up swapspace version 1, size = 1048576 KiB

no label, UUID=83352590-ef57-49f5-84c4-7fb847e4e4e0

And that's your new swap file. Finally, you need to activate the swap on your machine using the following command:

sudo swapon /swapfile

Now, sudo swapon -s should show you both the swap partition and the swap file.

I then recommend adding some security by changing permissions as follows:

sudo chown root:root /swapfile
sudo chmod 0600 /swapfile

If all seems good so far, you can add the swap file permanently by adding the the following line to /etc/fstab using your favorite editor:

/swapfile       none    swap    sw      0       0

You can add multiple swap files, of course. And you can remove the swap file by using sudo swapoff /swapfile.

Hope this helps.

  • 2
    Thanks! It worked. This is the dd command I used for adding 4G swap file: sudo dd if=/dev/zero of=/swapfile bs=1024 count=4096k – leviatan89 May 3 '18 at 19:30
  • Why is it 1024k? My intuition would say that that was 1 megabyte, not a gig. – grofte Aug 16 '18 at 16:12
  • 3
    The block size parameter 'bs' is in bytes. So a count of 1024k or 1 million blocks of 1KB each is 1 GB. – Martin W Aug 17 '18 at 14:17
2

Adding to the top answer. Since I do not have the reputation to comment. Apologies.

In case you are trying to increase swap space and already have swap space allocated.

Warning: Close applications that use swap space.

First, do this or else you will get a Error:

sudo swapoff -a

And then proceed as instructed above.

Also, the above process will erase the previous swap space, so if you have 2 Gigs of swap and want an additional 6 Gigs, you will have to allocate a fresh 9 Gigs of swap space. Or name the swap file to something different from the other swap file(s).

sudo dd if=/dev/zero of=/swapfile2 bs=1024 count=6144k

Error:

~ $sudo dd if=/dev/zero of=/swapfile bs=1024 count=6144k                     
dd: failed to open '/swapfile': Text file busy

NOTE: This is a suggested Extension to @Martin W's answer

0

Here are concise steps to create a new 4GB swap file. First close any applications using swap space (or restart your machine). Then:

sudo swapoff -a                                    # Turn off all swap space.
sudo rm /swapfile                                  # Delete current swap file.
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 # Make a new 4GB swap file.
sudo chown root:root /swapfile                     # Set owner to root, group root
sudo chmod 0600 /swapfile                          # Set permission to root
sudo mkswap /swapfile                              # Convert file to swap format
sudo swapon /swapfile                              # Enable swap space

You are all set. You may need to reboot your machine for the new swap size to take effect.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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