Let’s Learn How To Change The Open File Limit In Linux

Today, lacking anything better to do, we’re going to learn how to change the open file limit in Linux. Why would you want to do this? Buggered if I know! But, I’m gonna tell you how! (You’re welcome!)

Actually, you could be working with many files and want to increase the number of files that can be open at one time. You might also want the opposite, as a way of limiting system resources.

Basically, in Linux, anything that can use resources has some sort of limitation. For example, there’s a limit to how many arguments that can be passed in a single command or for a new process. You’re unlikely to bump into that limit as a regular desktop Linux user, but that limit is there.

Heck, if you want to learn more about that, click this. I’m not entirely sure how to change that value, but it might actually be in some notes somewhere. Someone’s gotta know how.

Again, you’re very unlikely to run into problems as regular ol’ desktop Linux user. Realistically, you’re unlikely to have to change the open file limit in Linux. However, today is the day I tell you how! Why? ‘Cause I ain’t scared – and it’s not my computer that you’re mucking about in!

I should also mention, more to remind you gentlefolk, that everything in Linux is a file. Everything… So, you’d be surprised how many files you have open at times. Even then, you still probably don’t have too much of a need to change the open file limit.

Change The Open File Limit:

Like many articles, this one requires an open terminal. 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, now is a good time to tell you that there’s a hard limit and a soft limit. The hard limit can only be changed by root and the soft limit can be altered dynamically by the process.

You can learn those limits. To find the hard limit, use this command:

And, to find the soft limit, use this command:

Those commands will output the value of your hard and soft limits, respectively. 

You can obviously change those limits, else this wouldn’t be an article. To change the open file limit, you just add a new value as an additional argument. It’s something like:

And, again for the soft limit:

For example, you might increase the hard limit with a command like so:

If  you want to make them permanent changes, you can do that. It’s a little different for the hard limit and the soft limit. So, to make them permanent we need to use nano to do some file editing:

And add this line:

If you want to change the soft limit, it’s a little different. It’s just:

If it’s not obvious, replace the username with your username (and no brackets, of course). Then, of course, you’ll need to save the file. To do that, just press CTRL + X, then Y, and then ENTER and that’ll save the file properly.

You shouldn’t need to reboot. The changes should be immediate and you can run the above commands to verify this. If the changes somehow didn’t take effect, reboot and  you should be good to go.

Closure:

I’ve never really needed to change the open file limit as a desktop Linux user, but you might have a reason to do so. If that’s the case, it makes sense to have this information handy, and now you do.

It’s yet another article in a long, long list of articles – a list that’s growing steadily! I have yet to miss a single publication date, though I feel compelled to do so – as it’d take the pressure off knowing that I no longer have a “perfect” record.

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: 3 Average: 5]

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.

Last Updated on August 29, 2022 by KGIII

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

What It Means To Volunteer

Today, I want to talk about what it means to volunteer. I’m going to try to keep this brief and to the point. While I generally avoid vulgarities, there’s going to be some swearing in this article – unless I edit it out later and forget to remove this sentence. It could happen…

I’m also not going to publish this immediately. I don’t want to ruffle feathers and I don’t want there to be any fallout beyond me having said my piece, while also holding my tongue.

Some backstory…

Due to another project’s use of some software, we were forced to make a change to that software. That change adds friction to a subset of new users and a subset of people who need support. You know, at the exact time you don’t want there to be friction.

There was a better solution available, but people complained about the time the solution would take. It was a clearly better solution and yes it’d take some time and a commitment to that time in the future.

When proposing that we discuss this better solution, it was thrown in my face (and I’ll be careful to not be verbatim) that, “We’re all volunteers and I don’t want to spend my time this way.”

Another amusing comment was, “Our time can be better used to make the project better.”

Bitch, please… I put in more volunteer hours than any of them and there’s no better way to make the project better than to ensure people are able to easily access the product’s support! If we don’t have new users, we stagnate. If we can’t help people who are having problems, we lose users.

This is the very basic foundation  you need to make a good product. Without that foundation, you don’t have a product, you have a few people making a personal project for themselves.

What It Means To Be A Volunteer:

I am still angry and disappointed as I write this. Well, I’m mostly disappointed. That disappointment is a bit abstract. I’m disappointed that they’d add friction to a process that should be as easy as possible – and I’m disappointed that they’d hide behind their ‘volunteer’ status.

If you volunteer on a farm, you agree to shovel shit.

If you volunteer on a farm, you don’t just get to pet the animals.

In this case, the solution available is to “simply” package a flavor-specific package. This would take some time – though the person did brag about being fast. It’d then take some time every time a new version of that package was released. (Updates are seldom, as the project is quite mature.)

Another option was for them to use a different application, rather than using the same application and forcing the existing users to make things harder for users. There are many, many usable and mature applications in the category. 

So, yes, it’d require some time and work.

That’s what you volunteered for. That’s what you signed up for. When it gets tough, you don’t hide behind the word ‘volunteer’ like a coward. You step up and do what needs to be done. Using your volunteer status as an excuse for shitty work ethics isn’t acceptable behavior!

Closure:

I could go on, but that’d just be me ranting. At the end of the day, they’re going to do whatever it is they want to do and justify their shitty behavior by telling themselves and others that they’re a volunteer.

Worse, they throw the word volunteer out there like it’s some vaunted position in the community. It’s not… We’re all volunteers and I guarantee that I give more time to the Linux community than they do. They throw the term out there like they know best, when they’re ignoring the very elements that make our project a product. (Don’t get hung up on the word ‘product’, as a distro/flavor is indeed a product that people use to get real world work done.)

They ignored the bit about making it harder for those who should have it the easiest. They basically said ‘let them eat cake’, and we all know how that ended up. Except, it’s unlikely we’ll have a revolution with beheading – and indeed that’d be a bit much. Instead, we’ll bleed users at a slow but predictable rate and people will pretend it isn’t happening or that they don’t know why it’s happening.

It also doesn’t bode well for the many other decisions made by this person. They’re the head of a different project, one that’s fading into obscurity already. The death of a distro isn’t a sudden thing, unless they willfully make it so. It’ll be a slow demise, a shit-show of politics and mudslinging.

When it happens that their project dies, assuming I remember, I’ll return here and fill in some more of the details – because history should be complete. Until then, I’ll watch with morbid curiosity. The scent of shit is in the air.

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: 3 Average: 5]

Remove A Swap File

In today’s article, we’re going to learn how to remove a swap file. This isn’t something I recommend, for reasons I’ll explain, but I have no ethical qualms about telling you how to do so. After all, it’s your computer. You get to decide what it does!

There are some folks who will tell you that if you have enough RAM you don’t need swap. Well, I am not one of those people. I tend to have swap enabled regardless of how much RAM I have. I have a good reason and I’ll explain it to you as best as I can. I mean, the actual inner workings of the kernel are above my head, but I’ll explain it – or let other people explain it.

See, contrary to popular opinion, swap isn’t just a place the kernel sticks stuff when you’re running low on RAM. For example, check out the picture below:

swap in use with plenty of free RAM
As you can see, swap is used even with plenty of free RAM.

Here’s more information about the free command.

Now, do me a favor and go Google Linux and swap. You’ll find plenty of pages that briefly have this to say (and barely this to say):

Swap space in Linux is used when the amount of physical memory (RAM) is full. If the system needs more memory resources and the RAM is full …

                                                                                                        That’s from MIT!

That’s only about half the story… There’s more to it, and that is kinda important.

Some More About Swap:

So, is it really that simple? Of course it isn’t! If it was really that simple, the intro to this would have been so much easier to write. No, it’s slightly more, a bit more, complicated than that. See, let’s quote a more thorough (and accurate) Linux.com:

Swapping is necessary for two important reasons. First, when the system requires more memory than is physically available, the kernel swaps out less used pages and gives memory to the current application (process) that needs the memory immediately. Second, a significant number of the pages used by an application during its startup phase may only be used for initialization and then never used again. The system can swap out those pages and free the memory for other applications or even for the disk cache.

                                                                                                     –Emphasis Mine.

What can we take from that? Well, it’s not just a place where the kernel stuffs things when there’s no RAM left – it’s also a place the kernel sticks things to avoid wasting RAM. This is very different than swap is just a place where the kernel stuffs things when RAM is low. It avoids using some RAM that’s best used elsewhere. That seems kinda valuable and important to me. Again, the inner workings of the kernel are pretty much witchcraft to me, but swap seems like a good thing to me.

The kernel is pretty smart about this, from what I’ve observed. It’s good at its job. It’s better at its job than you are. It is better at its job than I am. I highly encourage you to use swap, saving your RAM for more useful things. With disk space as large as it is, you’re not going to miss a couple of gigabytes. Let the kernel do its job, managing RAM as best as it can. They’ve put thousands of hours into making the kernel smartly deal with RAM, there’s no reason to hobble it.

Of course, ain’t nobody gonna listen to me… So, with that said, I might just as well go ahead and tell you how to remove a swap file… You’re gonna do what you want anyhow!

Remove A Swap File:

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.

The first thing we’re going to do is verify that you actually have a swap file…

If that mentions a swap file, only calling it a ‘swapfile’ (a single word), then your next step is to turn your swap off.

Now, for your next step you will want to remove the swap information from fstab, so let’s go like this to do that:

Find the line that starts with /swapfile and delete the entire line. All of it. Leave nothing behind. If you screw this up, your next boot may be an interesting exercise. The line is probably longer than it looks unless you’re using a terminal in full screen! Be sure to remove all of it. It should end with a 0, actually a 0 and then a tab and another 0.

Be doubly sure to remove the full line and then save your work. Then save it with nano. To do that, just press CTRL + X, then Y, and then ENTER. That’ll save it.

Finally, remove the swap file itself. That one is nice and easy, you just:

That should do it! If you’ve realized you’ve made a mistake and want to have a swap file, you can always add a swap file. (I’m pretty sure it should be ‘swapfile’, but the rest of the ‘net calls it ‘swap file’, so I’m going with the majority – even though the majority don’t even know what the damned thing does!)

Closure:

There you have it. You now know how to remove a swap file. If that’s what you want to do, you go right ahead and do it. Truth be told, assuming you’ve got enough RAM, it won’t necessarily break anything. You might not even notice it is gone. Still, I figure it’s better safe than sorry – and who am I to judge what the kernel wants?

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.

Last Updated on September 19, 2023 by KGIII

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

Who is, Simply whois

Today, we’re going to learn about whois. There’s not much to it, so it won’t be a very long article. Think of this article as some of the others, where it’s not so much about the tool (the tool is simple to use) it’s about making folks aware of the tool and the capability.

Have you ever wondered about a domain name? Maybe you want to see if it’s registered? Perhaps you want to see who has registered it? Maybe you’ve noticed they have great uptime and want to see the name servers so that you can deduce the hosting company? Perhaps you want to file an abuse report, or you just want to know who the owner is so that you can send them an email. Maybe you’re a stalker and just need to narrow it down a little! (I kid, please don’t stalk anyone.)

Well, you can do that and more with whois! Want to know when the domain name expires so that you can swoop in and steal it? Well, you might be able to do that with help from the handy whois command! You can at least see the expiration date. I tend to keep things registered well in advance, ’cause I’m forgetful and don’t want to lose a domain name.

Unfortunately, quite a bit of information in whois databases is intentionally wrong. Sometimes, the information is quite useless. Certain domains, like this one, have requirements – so I have to use my real name in the registration information (though they never actually check). Other domain names aren’t so particular and you can lie, use email forwarders for abuse complaints and contact info, and generally hide that sort of stuff from whois databases. Ah well…

So, who is whois?

whois:

You might just as well crack open a terminal. If you don’t know how to open the terminal, you can do so with your keyboard – just press CTRL + ALT + T and something useful should happen.

With your terminal open, go ahead and install whois. It’s surely in your default repositories, so just install it like you’d install any other software. As is the tradition, I’ll show you how to do it in Ubuntu or any apt-using distro:

Now, all you need to know is:

You don’t need the http, nor the www, just use the domain name. For example, you can:

I should point out that that’s not really my phone number. You probably shouldn’t call it. If you somehow need my phone number, just ask in private and I’ll share it with you – assuming there’s justification for doing so. Also, please don’t stalk me.

Anyhow, you can see when the domain expires, tell that I use a CDN and which one I use, see when the domain was registered, find out who the registrar is, etc… You can learn quite a bit of information from just that one command. Combined with something like traceroute and you can learn a lot.

Closure:

Anyhow, now you know about ‘whois’ and a bit about what you can do with it. If you want to go digging around, you can learn quite a bit – even if the domain’s behind a privacy fence. There are other tools, like MTR and dig (which we haven’t covered).

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: 2 Average: 4.5]
Subscribe To Our Newsletter
Get notified when new articles are published! It's free and I won't send you any spam.
Linux Tips
Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.