Create a swapfile for your Linux server

Having at least some swap can increase performance. It will store data that isn’t being used and allow more space for disk caching. See the “Why do I need Swap?” section from Ubuntu’s Swapfaq

1 Like

I’d like to suggest replacing the command:

    dd if=/dev/zero of=/swapfile bs=1k count=2048k

with this:

    fallocate -l 2G swapfile

Because it creates a 2G file instantly, without initializing it’s data.

1 Like

This was covered upstream, please scroll up. May cause problems later if the swapfile is fragmented.

2 Likes

I came back to this zRam/zSwap idea and decided to give it a longer test run on my low traffic site hosted on a 1GB Digital Ocean slice. Actually the idea came back and Microsoft just enabled RAM compression for all users on Windows 10 and it seems to be doing its job on my cheap Baytrail tablet.

Anyway, been running for 24 hours now and so far the system has not yet touched the physical swap at all. I also radjusted the Swappiness back to default value 60, rather than 10.

FatMoomin:~# cat /proc/swaps
Filename                                Type            Size    Used    Priority
/swapfile                               file            2097148 0       -1
/dev/zram0                              partition       508936  208060  5

So far nothing unusual in the CPU loads either, but again this is a low traffic site. Few hundred views per day and most are passive readers.

2 Likes

Hi !

I have a question : I created a 1 GB swapfile, it is activated and works for months now but it’s recommanded to use a 2 GB swap for my config, what will be the command to increase it to a 2 GB swapfile ?

4 Likes

swapoff /swapfile and follow the directions to make a 2GB swapfile.

You don’t need to re-do the file system table, swappiness and so on.

9 Likes

Thanks It worked

If it helps others, I’ll give a little extra : I had to stop the app because the server couldn’t allocate the memory. So I run these commands :

cd /var/discourse
./launcher stop app

I run the command @pfaffman gave me, did a new swap, started the app and rebooted my server

cd /var/discourse
./launcher start app

Then for the reboot : shutdown -r now (I don’t know if it was neccessary, but it never hurts)

And voilà

Thanks again !

9 Likes

but if the swappiness is 10, isn’t it only used in emergencies?

2 Likes

0 is “unless absolutely necessary”, 100 is “instantly”.

7 Likes

Yes, and that’s the point. The only time swap is needed is during upgrades.

2 Likes

6 posts were split to a new topic: Can swap file cause delays?

After running Jeff’s command to create the swap file, do I need to shutdown my server or something to make it work?

I did a git pull and rebuild app just to make sure it was all good. Not sure if it was necessary anyway.

Do I need to execute a shutdown as well? What would be the commands for that?

Also, is there any command I can run to make sure the swap file is working properly?

1 Like

The swapon command turns on the swap file (Jeff’s notes say “activate”). You don’t need to reboot (you could use sudo reboot to reboot if you wanted to for some other reason).

free will give you memory info, including swap.

4 Likes

Oh I see. Great. No need to reboot then. Swap seems fine then:

Thanks for the info!

2 Likes

Ran into Errno::ENOMEM: Cannot allocate memory and https://meta.discourse.org/t/cannot-allocate-memory-during-upgrade/27619?u=balupton so tried this, but got:

root@bevry-discourse-ubuntu-1gb-sgp1:~# sudo install -o root -g root -m 0600 /dev/null /swapfile
install: cannot remove ‘/swapfile’: Operation not permitted
1 Like

Do you have swap on already?

free will show you swap.

1 Like

Anyone have any advice on if I need a swapfile if my server has 4GB of memory? If so, what should the size be?

1 Like

You are not required to. If you wanted to play it safe, a 1 GB file should be more than sufficient and rarely used.

8 Likes

Hello ,

There is any sense to create 3 GB , 4GB SWAP for instance with 1 GB RAM . Any profits here ?(1% more better work is a profit )

You are better off investing in more physical RAM than a larger SWAP file.

4 Likes