Meanwhile the electron app you’re trying to run
The other day my laptop was sluggish as hell, checked top and turns out Discord and Orca Slicer were maxing out my cores
Is Orca that resource intensive? I’m running it in a container with KasmVNC and have never really checked out the resource usage. Admittedly it’s on one of my local servers in another room. I guess it’s how large your projects are too.
Edit: maybe it’s just my small projects
Well, when I leave it open for a while it tends to have issues
What’s the benefit of running Discord’s app instead of just using it as a PWA? A PWA would reuse your existing browser and its session.
Global keyboard shortcuts are pretty nice. E.g. muting yourself without alt tabbing to your browser.
Oh that’s a good point. I totally forgot that Discord has voice features. don’t use Discord often, and when I do, it’s just for text chat. Unfortunately some open source apps I use use Discord for communicating with the developers.
you are right :d
And your browser with 300 open tabs doesn’t even fit into the room
Firefox unloads old tabs when restarting the browser, so most of those are more like temporary bookmarks.
Don’t think I’ve ever seen someone open 300 tabs in one session or on Chromium…
Consider also getting Simple Tab Groups. You can basically instantly send a bunch of tabs to a “group”, which is like bookmarks except they can also be opened/closed all at once in a new window. Very handy, you can open 50 tabs researching something, close them all, then instantly reopen them when coming back to the research.
Firefox is my tab-hoarding enabler 😍
i think i have over 200 tabs open in Zen (firefox fork)
I’ve seen builds of the Linux kernel that comfortably fits in my on-die CPU caches.
So it would just be a picture of an empty sofa.
There are mid range CPUs with 128MB of L3 cache now. A Linux distro like Tiny Core could fit entirely in cache.
Tiny Core Linux is a minimal Linux kernel based operating system focusing on providing a base system using BusyBox and FLTK. It was developed by Robert Shingledecker, who was previously the lead developer of Damn Small Linux.
Ah, that explains a lot! Didn’t know about TCL.
Won’t run on my 386? Well what good is it then.
That sounds neat. Link?
Hm? Do you mean a link to builds that are this small? My midrange Intel i5-12600K (I’m a working man, doc…) L3 cache is 20,971,520 bytes. My Linux Mint (basically Ubuntu kernel)
vmlinuz
right now is only 14,952,840 bytes. Sure, that’s a compressed kernel image not uncompressed, but consider this is a generic kernel built to run most desktops applications very comfortably and with wide hardware support. It’s not too hard to imagine fitting an uncompressed kernel into the same amount of space. Does that help to show they’re roughly on the same order of magnitude?Ten years old kernels could be 2 MB.
Gotcha - I thought you meant you had seen some sort of demo/article/whatever with a proof of concept, but I misunderstood.
My ARM board from 2010 has 256MB of memory. It runs an old 3.1 kernel (not attached to internet) , new kernels won’t fit/load. But on that I have OpenMediaVault running SAMBA shares and mindlna to serve music. It isn’t even using 50% of the 256MB
Can’t relate, just upgraded my laptop from 32GB to 64GB since VScode would keep closing due to OOM. What? Oh, no, it’s not vscode’s fault…I keep like 5 Firefox windows with 30+ tabs open, like a fucking maniac… Close them? What do you mean “close” them?
Only 30 tabs, you need to bump those numbers up!
I had around 1500 open tabs in Firefox. It was fine. I figured enough was enough and closed them all. Now I close all tabs at the end of the day before shutting down.
What is “shutting down”?
Wait, do people shut down their computers when they’re done using them?
I know I did on the desktop PC we had at home when I was a kid… But now the desktop doubles as a homeserver (and does that more than it does gaming lately) and the laptop just goes to sleep rather than shutting it down.
I have a separate home server, so I don’t have a reason to not shut down my desktop PC. No reason for it to be using electricity while it’s doing nothing.
I shut down my laptop because suspend/sleep support on Linux still isn’t great.
I was about to reply to the same thing to another comment about 300 tabs, LOL
When I started hitting OOMs I just downloaded free ram.
(Modifying my zram-generator config to use 1.5x my ram size instead of the measly 4GB – uncompressed – default. Seriously it’s worth looking into, though default depends on your distro)
Can’t you just add swap?
I think you can run some apps purely on swap and keep your ram for vscode only
zram is swap on ram, it works by compressing parts of the ram when you run low and it’s much faster than traditional disk-based swap.
You only need 1 tab to OOM if that tab is Jira. I’ve literally had tabs take up more than 10GB.
Get sideberry, it allows you to “sleep” unused tabs
It does that by default though?
Idk, I think it’s more proactive and more customizable
No need to convince me. I will always believe people complaining about garbage electron apps.
That being said, I use vscodium myself and actually like it. Does not mean I won’t complain thoFirefox puts inactive tabs to sleep, effectively turning them into bookmarks that reload when you switch back to them. I regularly right-click close-tabs-to-the-right over 200 tabs.
I think there’s still something wrong with your setup… You should be able to have as many Firefox windows and tabs as you’d like without using too much RAM, since they should de “suspended”.
I regularly have hundreds of tabs running fine, on 32GB of RAM.
Most likely it’s a vscode extension that’s leaking memory, and this problem will still happen after your upgrade, just take longer.
I mean, I doubt Kate or Geany or Vim would’ve closed due to OOM, but sure…
same with intellij
Wondering how my 64gb will outlast every other part upgrade my gaming Linux box will get over the years
Your use case is obviously different, but I’ve gone years between system upgrades. I mostly do OSS coding, or work stuff; not gaming. The only case I can imagine needing to upgrade my little Ryzen with 16 cores - a laptop CPU - is if it becomes absolutely imperative that I run AI models on my desktop. Or if Rust really does become pervasive; compiling Rust programs is almost as bad as compiling Haskell, and will take over my computer for minutes at a time.
When I got this little micro, the first thing I did was upgrade it to 64GB of RAM, because that’s the one thing I think you can never have too much of; especially with the modern web and all the shit that brings with it; Electron apps, and so on, absolutely chew up memory. The one good thing about the Rust trend is better memory use, so the crappy compile times are somewhat forgiveable.
Somewhere around 2017 I bought an old dell precision from 2011 for $25, put a radeon rx 570 in it a few years later and used it as my main computer until last year when I finally got around to building a replacement
My case was purely, that I had upgraded the gpu in my classic Mac Pro, and thought that a SFX pc build could be done with the old gpu and a power supply and mobo. It started out with a cheap mobo, to hold only an old i7 from an imac that was parted out, and 8gb of ram (2x4 sticks I had spare) and the vega56. I found it so capable a system, that the only issue was ram when I forgot about the dozen tabs open on a browser, and the game just launched would hang the system. Before I would ‘waste’ spending money on the max 16gb that this board could hold, I started collecting the parts for it’s current setup; a520i, ryzen5 5600x , 64gb, nvme ssd and the gpus I’ve now swapped between the cMP so now it’s a rx5700xt. Use is purely a spare, don’t want a windows machine, I’ve got the mac for a server/media machine, so it’s all purpose and games on the Linux box. Although I have got dual boot capability set up on both just because I could, maybe something really offside would need w10 - one example; VCDS car diagnostic software that doesn’t support anything but win.
I used to run VM’s in parallel for my job, which eat RAM like candy. Other than that though, I’ve never had a use case for more than 32GB RAM.
700 tabs + VM?
At work I regularly kiss 32gb with everything open and a VM. When I got my latest machine I made sure to get 64 so I think I’ll be good for a while. 32 gigs lasted me from 2017 to 2024. And if I need more this machine takes 2 SODIMMS so I can install at least 96 gigs.
Fixing a SSAO bug where indices overflowed the 32bit int on the gpu I had to use 64GB. Since then I have never needed more than 32GB and at home 24 is way more than I need.
Well, I just remembered, actually I did need more once for a fftv bug (same story, 32bit overflow) but I borrowed a 192GB pc for that.
Gives a lot of Space for running Virtual machines.
Also browsers can chew that up fast if you have a lot of tabs, Firefox has managed to do it a few times. At least until I started limiting its RAM to 8GB (best decision ever)
Limit Firefox to 8GB of RAM .desktop file
[Desktop Entry] Version=1.0 Name=Firefox RAM limit 8GB GenericName=Firefox Ram limit 8GB Comment=Limit RAM for Firefox to 8GB; Exec=systemd-run --user --scope -p MemoryLimit=8G firefox Icon=firefox Type=Application Terminal=false Categories=Utility;Development; StartupWMClass=Firefox
(To use it with other apps like Chrome or Electron apps just replace the command at the end, and startup class with the ones from the program you’d like to run. Icon and Name changes are optional but might be desirable so you remember what app it is for).
Alternatively you can open
about:config
and limit memory usage there. For example limit in-memory cache.EDIT: it seems firefox doesn’t allow to set RAM limits yet, only cache sizes
That’s good to know, I don’t know how well it would work though I feel like I enabled something about closing background tabs to reduce memory load (it might have been what you said, it might have been something else I don’t really remember) and it helped a little bit but it still ended up chewing up a lot of memory.
Setting the limit though did help immediately. And stop the overconsumption problems, occasionally a couple of tabs crash here and there but it doesn’t freeze or worse cause other apps to slow down and freeze. Which did happen before.
Something I didn’t consider when answering earlier is that even if Firefox did have good RAM usage limiting built-in I probably still wouldn’t use it or recommend it, because one of Firefox’s biggest problems is that it leaks. And memory leaks will not be negated by Firefox’s built-in RAM limiter but they will be by systemd’s (or anything else you might be using instead) Firefox would still crash in the event of a leak but it’s still better than it taking gnome or other apps with it, or freezing your system entirely.
Oh my god thanks but what if someone had a systemd free system
It might be harder for them but there are similar tools that they could use to limit it. One I’ve seen people use is firejail, a tool designed for sandboxing processes and applications.
I’ve personally never tried it myself though so I can’t attest to how well it works, either for this purpose or sandboxing in general.
Oh, I was talking about runit,sysvinit and openrc systems
systemd-run? Wtf?
Does it kill Firefox if it tries to go over the limit? I think I tried this once and if there is a memory leak it just closes itself (which is batter than hogging the whole system, bit still)
No, it just limits the amount of RAM that Firefox (or whatever other application you launch with these parameters) will see.
A few Firefox tabs may crash occasionally as a side effect. And obviously if Firefox eats up all of the 8GB it’s allocated it may crash itself though usually it doesn’t and tabs will crash before the browser crashes.
Thanks I understand now, I’ll have to try it again
I think Firefox only sees 8 GB and limits itself ideally. So if it goes over it just unloads unused tabs and such.
I can confirm this, the first time I tried it out I accidentally set it to 1 GB, Firefox could only see that amount of memory. Though limiting Firefox to only 1GB its a very bad idea and it can cause it to crash it’s not because it’s trying to go over though it’s just because it ran out of memory.
8GB is what I would consider the safe minimum for web browsing. If you said it lower you’ll have performance losses. Setting it higher though will only chew up valuable System RAM by inactive tabs.
Hey, thanks for this.
the rest is electron
Java would like to hog the couch
Minimum requirements to run
hello world
in Java
Once you fire up a webpage it’ll just dump garbage all over the couch.
you just need more things to run on it
Plenty of room left over for my Chrome tabs
Four of them.
I wish I was a cat
I wish you were a cat too
…name checks out
Microsoft Flight Simulator: A whole airplane on the couch
well it’s in the name
“Microsoft”
yeah sure close enough! :)
i think you might be able to run kde plasma with that!
Fun fact, KDE is very lightweight. More so than a lot of folks give it credit for
It’s amazing. Until there is a conflict with mismatched qt libraries.
plasma wayland just doesn’t work with orca and x11 uses 7× your system resources
Better add 32 GB Zram to be safe tho
I use Kde plasma so I’m allowed to make fun of it
One of the cushions is your browser, the other half some IDE you use to write an one-liner.
Try realizing ten thousand mesh instances in Blender and watch that sucker eat the rest of your RAM like it’s got a pebble in its shoe.
I did that on my work PC with 128 GB memory (originally built for esports shit) and it still wasn’t enough.
What fucking e sports game need 100gb of ram…
It was also supposed to be an all-in-one recording/streaming computer for university events, and they had to use the budget for something. It ended up being used as a proxmox host for a while, then it was handed off to me. Now the most resource-intensive thing it runs is a Windows 11 VM that I
torture mercilesslyuse for experiments. It rarely gets to 10% memory utilization.Aaaaah, that make slightly more sense? How old is the computer roughtly?
It has an i9 10980, so about 4-5 years old. It was built before I was hired.