How To: Adjust Swappiness

In today’s article, we’re going to learn how to adjust swappiness. It’s something you might want to do, as many don’t like the initial value set by the developers. It’s relatively easy.

I’ve written about swap before. I think you’ll find the best information in my recent article telling you how to remove a swap file. In that article, I tell you why I still use a swap file – even when I have lots of RAM available.

The reason for that boils down to how a swap file isn’t just some place that the kernel sticks things when you’re out of RAM. It has other uses as well. I figure I’m not smarter than the kernel and evidence tells me that the kernel uses swap even when there’s all sorts of RAM available. So, I use a swap file (not a swap partition these days). You might also want one if you plan on using advanced power management features like hibernation or sleep.

Anyhow, one of the only settings you can change regarding swap is the ‘swappiness’ value. That setting is basically how aggressively the kernel will use swap. The higher the number, the more the kernel will use swap. The lower the number, the less the kernel will use swap. It’s pretty basic in theory.

I don’t actually normally adjust the swappiness value. It works just fine at the default setting, so it doesn’t seem to me like I need to adjust it. Other people adjust it, and that’s fine. Either way, I’m going to tell you how to adjust the swappiness value. You do what you gotta do.

Adjust Swappiness:

This article requires an open terminal, like many other articles on this site. If you don’t know how to open the terminal, you can do so with your keyboard – just press CTRL + ALT + T and your default terminal should open.

With your terminal open, let’s see what value swappiness is set at before we decide to adjust swappiness. Enter the following command:

The default is usually 60, at least in the Ubuntu world, and some folks think that’s too aggressive. That value is easy enough to change. But, what I’d suggest doing is adjusting the value temporarily so that you can see what happens when you adjust swappiness. To set the value temporarily, you can just use this command:

Adjust the ’30’ to any number you want between 0 and 100. Both extremes are likely bad, but I’ve used values as low as 10. You could even set it to 0, which should stop the kernel from swapping anything.

Once you find a swappiness value you like, you can make it a permanent change to your system. That’s pretty easy. You just:

Add the following lines of text:

Use your own value if it’s not 30 and save the file. To save a file in nano, press CTRL + X, then Y, and then ENTER.

You can then reboot, or just wait until your next reboot, and the new swappiness value will be used. If you don’t feel like rebooting immediately, just adjust it temporarily and reboot when it’s convenient for you.

Closure:

There you have it, another article! This one has you learning how to adjust swappiness to a value that you can work with. I’d encourage folks to read the linked swap file article to see why I use a swap file even when I have gobs of RAM. If nothing else, using one won’t break anything.

Thanks for reading! If you want to help, or if the site has helped you, you can donate, register to help, write an article, or buy inexpensive hosting to start your own site. If you scroll down, you can sign up for the newsletter, vote for the article, and comment.

Smash a button!
[Total: 4 Average: 5]

How To: Create And Enable A Swapfile

Today’s article is about how you can create and enable a swapfile. It largely ignores the debate about whether a swapfile is needed or not, though I make it clear that this is something I prefer. I know that others will have different views, but I also make it clear why I enable it.

A swapfile, or swap partition, isn’t just where the OS crams stuff when it has run out of RAM. It’s more complicated than that. Sometimes, the OS knows where it wants to store cached items and prefers the swap partition or swap file.  The OS can put items in swap while freeing up RAM for other bits that need caching. 

To make it abundantly clear, you absolutely can use Linux without a swapfile. You can also use Linux with a swapfile. If you want to enable a swapfile, read on. I’ll touch on this a little bit later in the article.

Some Swapfile Background:

I have a modern, large SSD and more RAM than I’ll ever possibly use. I still want to use swap, in this case a swapfile. Imagine my dismay when I installed Lubuntu 20.04 and found there’s no swapfile available during the basic installation? (It’s there in 21.04 and proceeding versions.)

no swapfile
See? There’s nothing there!

I could have manually made a swap partition during installation, but that didn’t seem like something I wanted to do – and messing with manual partitioning can be tiresome and tedious. I knew I could enable a swapfile later, which is what I did.

Again, trying to avoid the debate – just sharing my reasoning; I have ample disk space and storage is cheap. If it has any chance of helping, it’s a small investment. I should also mention that swap is far more complicated than ‘a place where the kernel sticks stuff when there’s no more RAM left’. In fact, it’s a lot more complicated than that. It’s where the kernel pages content that’s seldom used, and it’ll happily use swap even when there’s plenty of RAM available.

Since the option to enable a swapfile isn’t there during the installation, we might as well learn how to add a swapfile to Ubuntu. It’s a pretty painless process. 

Is Swap Already Enabled?

You should first check to see if you already have swap enabled. The process is the same with both a swap partition and a swapfile. To check we first need to open your terminal emulator. You can do that by pressing CTRL + ALT + T.

Now, let’s check to see if you’ve already got some swap going on.

If the output of that command shows nothing but a new line, you have no swap. If it says anything else, you’ve got swap enabled already and this article is not one you need to read. As this article is only about a swapfile, it won’t be helpful for questions about a swap partition. This article also won’t tell you how to resize your swapfile, though you could put some pieces together and figure it out for yourself.

Let’s Make A Swapfile:

Seeing as you already have your terminal open from the previous step, you can just leave it open. That’ll make this easier. Start with this first command and work your way through the article – making sure to not skip any steps.

Why 8 gigabytes when I have ample RAM and an SSD? Because I don’t want to worry about it ever it again. I should be able to open up every app I have and leave them open for a month. You do you and decide how big you want it to be!

Now that we’ve allocated space for the swapfile, we need to set some permissions. We don’t want anyone and their kid brother writing to swap, we only want root writing to swap.

Next, we need to let the OS know that’s swap space, to be used as a swapfile.

Then you turn it on with:

And you now have swap in the form of a swapfile and it’s turned on.

Permanently Enable A Swapfile:

I suppose we should make this change permanent, as it’d be an unneeded step to have to do it every time the system reboots. To make this permanent, we need to edit fstab and nano is a good tool for this.

And add this at the bottom of that document:

Those are 0, the digit, in case the font here makes it confusing. And seeing as we’re using nano, you save your by pressing CTRL + X, then Y, and then ENTER

At the end of this exercise, you should have a swapfile that gets loaded on reboot.  You shouldn’t even have to reboot for it to effect, it should already be currently loaded and working. You can next edit the swappiness value, if that’s something you feel like you want to do – or have a reason to do. In Ubuntu, it is a default of 60. If you want to edit it, you’ll have to wait for another article.

Closure:

There you have it! We’re on the downhill side of this project and it’s an article about how you enable a swapfile. If you don’t use swap, that’s fine. This article is for those who do want to use swap.

Thanks for reading! If you want to help, or if the site has helped you, you can donate, register to help, write an article, or buy inexpensive hosting to start your own site. If you scroll down, you can sign up for the newsletter, vote for the article, and comment.

Smash a button!
[Total: 5 Average: 4.8]

Clear Cache, Buffer, And Swap Space

Many Windows users will want to clear cache, buffer, and swap space. It’s a holdover from their Windows days, and it’s possible to do those things with Linux. This article will explain how to clear your RAM cache, buffer, and swap space.

One of the first questions we should be asking is, “Will this help?” The answer is, like many things, “Well, it depends…” It depends on a number of variables, like how much RAM you have, and how aggressively the kernel is paging, or what your swap preferences are. For example, quite a few people have decided to forgo swap entirely. Cleaning swap space is not going to help them out one bit.

The second question should be, “What exactly are we cleaning, anyhow?” The answer to that is a bit clearer, thankfully. The things we’ll be dealing with are:

  1. PageCache/Page Cache; The Linux kernel stores data in unused sections of memory in case it needs it again. Since kernel 2.2, Buffer Cache and Page Cache have been combined and there’s just PageCache.
  2. Dentries; They’re “the in-memory representation of a directory entry” and include things like meta data.
  3. Inodes; Meta data about all the files on your mounted file systems.

Those things build up in RAM and they can be cleaned out. The Linux kernel is really good at managing these things and unused RAM is wasted RAM (within reasonable limitations), but they can be cleaned out and this article explains how.

Clear Cache, Buffer, And Swap Space:

This article requires an open terminal. To open one, you can just use your keyboard – press CTRL + ALT + T and your default terminal should open right up!

I took the time to explain what you’ll be cleaning in the article’s opening. That’ll make this section easier!

To clear PageCache by itself:

Or you can clear Dentries and Inodes:

Or even clear PageCache, Dentries, and Inodes at once:

NOTE: These work as advertised. Before you run one of these commands, run free -m before and after running the command. By doing that, you can see what the results are and what the results will probably look like in the future.

Frankly, I’d only see this as a very valuable tool if you have little RAM, or want to free up some resources before opening something that is resource-intensive. Other than that, just let Linux do its job – managing cache, memory, and other resources.

But, if you’re a Windows user and want the comfort of some familiarity, this won’t harm anything and could provide the very slightest of benefit. You could even alias it to an easier-to-type command and run it as often as you want. It’s your computer, you do what you want with it!

Closure:

There it is, another article! We’re rapidly approaching the 6 month mark and so far things have gone well. This time, you get an article letting you know how to clear cache, buffer, and swap. Who knows what the next article will be?

Thanks for reading! If you want to help, or if the site has helped you, you can donate, register to help, write an article, or buy inexpensive hosting to start your own site. If you scroll down, you can sign up for the newsletter, vote for the article, and comment.

Smash a button!
[Total: 5 Average: 4.6]
Linux Tips
Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.
Zoom to top!