this post was submitted on 04 Dec 2024
57 points (96.7% liked)

Linux

48665 readers
489 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Not sure why that is, but I have 32 GB of RAM and I would like my system to utilize it as much as possible, but as you can see in the screenshot, the system is only using 5.66 GB of the physical RAM, but swap is still being used in a high number. Is this normal? Should I lower the swappiness to lower than 10? Should I let it be? Thanks
Here is the screenshot

top 50 comments
sorted by: hot top controversial new old
[–] catloaf@lemm.ee 34 points 2 weeks ago (5 children)

You should set it back to whatever it was. It shows 5.6 GB in active use and 19 GB used for cache. You're already using all your RAM, just not actively. You don't sit on 100% of the chairs in your house at once either. 3 GB swap used is very low usage, which is expected when you're not actively using a lot of memory.

Don't mess with things you don't understand, especially when you don't have an actual problem. You're going to end up breaking things. (Which, to be fair, is one way to learn, but at the cost of breakage.)

[–] Luci@lemmy.ca 63 points 2 weeks ago (6 children)

Don't mess with things you don't understand.

Don't listen to this advice. Messing with things you don't understand is how you learn your OS. Mess with it, break it, then RTFM and fix it. That's how ya learn!!

[–] gi1242@lemmy.world 47 points 2 weeks ago* (last edited 2 weeks ago) (4 children)

you should especially do this on Friday 5:00pm in production, right before going on an international vacation with bad Internet.

[–] penquin@lemm.ee 11 points 2 weeks ago

😂 I love this.

[–] TexasDrunk@lemmy.world 7 points 2 weeks ago

I've had to explain to three different people that they're not getting a production window on Christmas Eve. I'm the only person in the office from the day after Christmas until January 2.

[–] Luci@lemmy.ca 2 points 2 weeks ago
load more comments (1 replies)
[–] catloaf@lemm.ee 11 points 2 weeks ago (4 children)

Or just RTFM first and learn without breaking stuff.

[–] naeap@sopuli.xyz 6 points 2 weeks ago* (last edited 2 weeks ago)

Nah, without breaking stuff, you never really learn

Hands-on experience is important.

Edit: obviously don't do this with production machines, but I thought that was given...

[–] pearsaltchocolatebar@discuss.online 4 points 2 weeks ago (1 children)
[–] qprimed@lemmy.ml 5 points 2 weeks ago (1 children)

pretty much. learning things without a corresponding "oh... shit." moment, just never quite stick with you the same way.

[–] penquin@lemm.ee 4 points 2 weeks ago

This is 100% it. The sleepless nights I've spent hunting for solutions after nuking everything, taught me a great deal. It was even so much fun, too.

[–] Luci@lemmy.ca 4 points 2 weeks ago

No fun. Nothing learned.

load more comments (1 replies)
[–] fuckwit_mcbumcrumble@lemmy.dbzer0.com 10 points 2 weeks ago (1 children)

That's great if you treat your computer as a toy. But if you actually need it to do work then that's terrible advice.

Destroy a virtual machine first, not your actual computer.

[–] penquin@lemm.ee 6 points 2 weeks ago

I have a whole machine that I don't touch for stuff like this to get my actual work done on. This one is for learning and fucking shit up. Lol

[–] penquin@lemm.ee 6 points 2 weeks ago (1 children)

Nah, homie, fucking shit up then spending your whole evening looking for solutions is what makes it so much fun. lol

[–] Luci@lemmy.ca 6 points 2 weeks ago

If your googling is about to take you to the arch wiki, you're having a good night!

[–] luciferofastora@lemmy.zip 5 points 2 weeks ago (1 children)

tinkers with pulseaudio
"Why does my audio not work?"
tinkers more
"Okay I think it kinda works now?"
it breaks again
"fml"

I found the docs for pulseaudio and particularly for pipewire to be rather hard to use, personally. RTFM works if the manual is readable, but in these cases, the learning curve was very steep for me (and I still don't know that I properly understood what's going on, but it's working, so I've stopped tinkering for now).

load more comments (1 replies)
[–] thingsiplay@beehaw.org 4 points 2 weeks ago

Learning by doing, but make backups.

[–] penquin@lemm.ee 17 points 2 weeks ago

While I appreciate your comment, I disagree on the last part. Fucking shit up is what got me into IT to make a decent living and take care of my family. All the fucking shit up is at home on my personal PC of course 😂

[–] extremeboredom@lemmy.world 8 points 2 weeks ago

Your comment was great, until the last part. That's terrible advice. DO mess with things you don't understand, until you understand them!

[–] pearsaltchocolatebar@discuss.online 4 points 2 weeks ago* (last edited 2 weeks ago)

You're not going to cause any permanent damage to your system messing around with system settings.

load more comments (1 replies)
[–] TimeSquirrel@kbin.melroy.org 33 points 2 weeks ago (2 children)

Let it be. The people designing the OS most likely know better than you or anyone else in this thread. I know the urge to "tweak" things is strong, but some defaults are defaults for a good reason.

[–] penquin@lemm.ee 18 points 2 weeks ago (1 children)

Pssshhh. I taught Torvalds how to code, how dare you. 😂

[–] WhyAUsername_1@lemmy.world 6 points 2 weeks ago (1 children)

So it was @penquin all along!

load more comments (1 replies)
[–] thingsiplay@beehaw.org 15 points 2 weeks ago (2 children)

Defaults are not always the best setting for a specific user or system. Defaults are often fail safe settings that should work on most systems out of the box. That does not mean other settings aren't better on your system. Often you can tweak settings to get better results, that are best on YOUR machine and setup.

But only, if you know what you are doing, or if you want to learn about it.

[–] Rogue@feddit.uk 15 points 2 weeks ago

But only, if you know what you are doing, or if you want to learn about it.

This is the crux of it though. Sure you can tweak your system but the average users doesn't know what they are doing or where to learn more.

I'm not even convinced OP knows what problem they're trying to solve

[–] porous_grey_matter@lemmy.ml 2 points 2 weeks ago

This reminds me of the (probably apocryphal) Mozart quote where a student asked him to teach them how to write a symphony, and was told "start with something more simple and short, for one instrument". The student complained "but you have been writing symphonies since you were a child!". The reply: "yes, but I didn't have to ask how".

The application of this idea here is that for someone to know the requirements for their system to the degree that they can really be sure that the most typical suggestions are not sufficient for them, they probably have to understand how the kernel handles swap and RAM to an extent that they don't really need to ask this question.

People are very ready to assume that their system is way out of the ordinary, but it probably isn't.

[–] sgtlion@hexbear.net 13 points 2 weeks ago* (last edited 2 weeks ago) (2 children)

This is normal. This is a topic with a lot of complexities if you drill down into the details and history, but the tl;dr is certain system processes and other programs will preferably write data to swap because it's so infrequently needed, and avoids massive slowdown if swap is needed, eg RAM filling, hibernation.

If you're absolutely sure you'll never exceed 32gb of RAM usage, you can turn the swap off. But you're unlikely to notice a performance boost, Linux does (largely) know what it's doing, moreso than you or I.

The TankieTanuki link is a good place to start to learn more if you really want to tweak it.

[–] penquin@lemm.ee 3 points 2 weeks ago (1 children)

I'll leave it alone. Thank you so much. I just wanted clarification

load more comments (1 replies)
[–] kevincox@lemmy.ml 2 points 2 weeks ago

To put it another way you want to be using all of your RAM and swap. It becomes a problem if you are frequently reading from Swap. (Writing isn't usually as much of an issue as they may be proactive writes in case more memory needs to be filled up).

Basically a perfect OS would use RAM + Swap such that the least disk reads need to be issued. This can mean swapping out some idle anonymous memory so that the space can be used as disk cache for some hotter data.

In this screenshot the OS decided that it was better to swap out 3GiB of something to use that space for the disk cache ("Cached" ). It is likely right about this decision (but is not always).

3 GiB does seem a bit high. But if you have lots of processes running that are using memory but are mostly idle it could definitely happen. For example in my case I often have lots of Language Servers running in my IDE, but many of them are for projects that I am not actively looking at so they are just waiting for something to happen. These often take lots of memory and it may make sense to swap these out until they are used again.

[–] mexicancartel@lemmy.dbzer0.com 12 points 2 weeks ago (1 children)

It is probably normal. Don't decrease your swappiness too much.

I think it happened the following way:

See the "cached" ram is taking 19 gigs. Theese cached ram improves performance by keeping frequently used system files on ram. So the actual occupied amount of ram would be 5+19 ≈ 25gb. Thoose system files might be used more than other app's ram so that they have higher priority to be in ram. So at the time you opened certain other applications, the total ram usage including cached might be a little over the availiable ram and likely got swapped. The once swapped thing won't be cleared immediately or with any much priority. I often see swapped contents remain even after closing a bunch of apps which gave empty space in ram.

So its just normal but is it using swap without once opening enough apps to fill the availiable space with used+cached? If so I would also be concerned

[–] penquin@lemm.ee 8 points 2 weeks ago

Damn. I actually didn't even pay attention to the cached part, nor have I ever even known what it was for. Makes sense now. Thank you.

[–] TankieTanuki@hexbear.net 10 points 2 weeks ago (1 children)

There is a common misconception that swappiness affects the memory threshold or prevents using swap space, but it only affects the preference for freeing up file pages over swap. See: this article for a more detailed explanation or the kernel source code where it is used.

https://wiki.archlinux.org/title/Swap#Swappiness

[–] penquin@lemm.ee 5 points 2 weeks ago

I love those links. Thank you.

[–] patatahooligan@lemmy.world 8 points 2 weeks ago

Yes, this is normal and it's a good thing (unless you've come across a bug). I don't know exactly what app the screenshot is showing, but I'm guessing that the caching shown is referring to the filesystem cache. The kernel is keeping a cache of files you are likely to access again so that it doesn't have to read them from storage again. So what you're seeing here is that some memory contents were moved to swap to make room for filesystem cache. This is because the kernel believes you're more likely to access those files again rather than the memory contents. If it's right, then this a performance improvement despite the fear surrounding swap usage.

Setting a low non-zero swappiness value is telling the kernel that memory contents have priority over filesystem cache for remaining in RAM, or conversely that file cache is more likely to be evicted from the RAM. A value of 100 would mean that they have equal priority. So that memory content must have been very stale to be evicted despite having a significantly higher priority to reside in RAM.

So:

  • don't worry about swap usage unless you're experiencing actual performance issues
  • for ssd's the value should be close to 100
  • for hdd's it should be low
  • if you're using both on your system, the default value of 60 is probably a decent approximation of the optimal value

Source: https://chrisdown.name/2018/01/02/in-defence-of-swap.html

[–] Frederic@beehaw.org 6 points 2 weeks ago (2 children)

Strange, I also have 32GB of RAM, my swapiness is 15, and my swap is always at 0 bytes used...

[–] kevincox@lemmy.ml 6 points 2 weeks ago (2 children)

The use case will change everything. OP is likely using much more memory than you are (especially disk cache usage) so the kernel decided to swap out some data. Maybe you aren't using as much so it has no need.

[–] penquin@lemm.ee 2 points 2 weeks ago

I do have many things running and the CPU is working hard for sure. I didn't even notice the cached part of RAM. So glad I just upgraded from 16 yesterday. Lol

load more comments (1 replies)
[–] secret300@lemmy.sdf.org 3 points 2 weeks ago

I feel you. My swappiness is whatever is default in fedora and it'll use like 20 gigs of RAM before anything goes into swap

[–] thingsiplay@beehaw.org 5 points 2 weeks ago (1 children)

I also have a 32gb RAM (30.5 GiB) and a swappiness value of 10. My entire swap is full and my RAM is only filled up to about 3.8 GiB. However my swap is just 512mb small (its not a typo, it's half a GB). You should not worry too much, even if the swap is in use, because those parts are probably like "parked" ram area that is not in use for a while now and waiting "to be waken up". And the performance penalty is not that big, if the swap is on a fast NVME SSD. In old days on old slow spinning hard drives, the penalty for using swap was huge (plus the Kernel and rest of operating system was not fine tuned as today).

Some related commands to check:

grep -H swappiness /etc/sysctl.d/*.conf

swapon --show

free

cat /proc/meminfo

Here is an interesting article: https://chrisdown.name/2018/01/02/in-defence-of-swap.html

[–] penquin@lemm.ee 3 points 2 weeks ago

Thank you. I like those commands.

[–] mactan@lemmy.ml 4 points 2 weeks ago

if you really feel the need to fuss with it then replace with swap on zram

[–] bjoern_tantau@swg-empire.de 4 points 2 weeks ago (2 children)
[–] Telorand@reddthat.com 2 points 2 weeks ago

Surprised I had to scroll so far to find this comment. I would be concerned about SSD longevity if my swap was doing that, but zram kind of negates that problem.

load more comments (1 replies)
[–] pineapple@lemmy.ml 3 points 2 weeks ago (2 children)

how do you change swappiness?

[–] ReversalHatchery@beehaw.org 2 points 2 weeks ago

through a kernel parameter, or permanently through sysctl

[–] penquin@lemm.ee 2 points 2 weeks ago

sudo nano /etc/sysctl.d/99-swappiness.conf
then add this line inside
vm.swappiness=10
Change the 10 any number you want

[–] RedWeasel@lemmy.world 2 points 2 weeks ago

You probably just had a program(s) use a lot of ram and that pushed some processes to swap. When the system needs it, it will be moved back. I’d +1 on setting up zram. Can be setup easily on most distros.

load more comments
view more: next ›