Missing the reason
Missing the reason
Posted Sep 7, 2025 5:01 UTC (Sun) by mirabilos (subscriber, #84359)In reply to: Missing the reason by josh
Parent article: No more 32-bit Firefox support
I used to run i386 binaries of Firefox on x32/amd64 systems, to have a natural upper bound of its memory usage. Can’t eat up all system memory if it can address less than 4 GiB :þ
Worked very well.
Posted Sep 7, 2025 5:17 UTC (Sun)
by josh (subscriber, #17465)
[Link] (9 responses)
Posted Sep 7, 2025 6:45 UTC (Sun)
by Wol (subscriber, #4433)
[Link] (2 responses)
And so what if firefox is less reliable, when the alternative is the system being less reliable. What's the point of firefox being better, if it takes down the system it's running on?
Cheers,
Posted Sep 7, 2025 12:01 UTC (Sun)
by josh (subscriber, #17465)
[Link] (1 responses)
I was responding to someone suggesting that they wanted 32-bit builds to limit memory usage. That won't help if the browser has multiple processes each using 4GB.
And multiple processes solve different problems that people care about: security, and isolation. Those multiple processes help avoid the problem that one tab crashing or using too much memory means the *whole browser* gets killed.
Posted Sep 8, 2025 7:50 UTC (Mon)
by arnd (subscriber, #8866)
[Link]
Posted Sep 7, 2025 16:48 UTC (Sun)
by mirabilos (subscriber, #84359)
[Link] (5 responses)
But that’s *precisely* what I want! The browser can always be restartet, using less memory than before and not loading possibly problematic tabs (or I can switch to lynx), but the rest of the system is not under memory pressure by a boring webbrowser.
> it has multiple processes these days, each of which has its own address space.
Yes, that’s why I used past tense when I said I used to use i386 builds.
I’d still prefer that these days…
Posted Sep 7, 2025 18:02 UTC (Sun)
by josh (subscriber, #17465)
[Link] (4 responses)
Posted Sep 7, 2025 18:27 UTC (Sun)
by mirabilos (subscriber, #84359)
[Link] (2 responses)
Most of the programs I use run in a terminal, so…
Posted Sep 10, 2025 0:23 UTC (Wed)
by Duncan (guest, #6647)
[Link] (1 responses)
First detailing the memory issue I see: For me it's generally youtube, but I expect the same happens on other "infinite scroll" sites, particularly image (thumbnails for youtube) -heavy ones. My particular issue may be exacerbated by extensions, likely either HoverZoom+ when actively hovering over many thumbnails over time (thus assuming the memory for those is leaked), or, someone else's theory I read, that uBlockOrigin's blocked connections somehow don't fully close and thus leak memory over hours of blocking youtube ads, etc.
Regardless, using a single tab for hours on youtube, either searching (with perhaps a thousand hover-zoomed thumbnails over several hours), or playing multiple videos (tho fewer longer videos doesn't seem to leak as much as many short ones, could be from either many more blocked ads or many more thumbnails loaded, tho with fewer zoomed than the first scenario) eventually uses multiple gigabytes of RAM, even sending me gigs deep into swap on a 16 gig RAM system if I let it go long enough. (Tho I've never had it actually crash, likely because I have an equal 16-gig swap partition on each of four SSDs (so I can stripe them using equal swap-priority values for all four), so 64 gig swap in addition to 16 gig RAM, and I've never let it get beyond single-digits gig into swap.)
In the search scenario, if I middle-click to launch the actual videos in new tabs, then close those tabs in a relatively shorter time to go back and search further from the main search tab, the newer tabs don't seem to accumulate as much and closing them doesn't seem to release much either -- the big memory usage is all in the main search tab that has stayed open. And simply refreshing the page doesn't reclaim the lost memory, nor does deleting cache (which is on tmpfs so does use some memory), so the culprit isn't the tmpfs cache. And FWIW, forcing garbage collection from about:memory doesn't help either -- whatever's leaking, firefox doesn't consider it garbage to be collected!
*BUT*, either duplicating the tab (along with its session history) and closing the old one, or (with another tab open, say just open a new-tab to its default page, or one of the separate-tabbed video pages, so the entire browser doesn't close), closing the offending tab and immediately doing a reopen-closed-tab, keeps the tab's session history, but releases all that leaked memory, sometimes double-digit gigs of it!
So I don't close/kill the entire browser, I simply ensure at least one additional firefox tab is open so the browser itself doesn't close, then either duplicate the leaking tab and close the old one, or close and reopen the leaker. That gets my RAM back without killing the full browser.
Perhaps you'll find that useful as well, tho admittedly, in some cases it's likely less hassle to just do the kill and restart thing. (Much like after upgrading various in-use libraries and apps, while reverting to a text-mode login and running something to tell you what's still using deleted/stale files and restarting it, plus possibly having systemd reload itself too if it's on the list, can usually avoid a full reboot, it's often just easier to just do the reboot and get everything fresh all at once, rather than doing it one app at a time.)
Posted Sep 10, 2025 0:49 UTC (Wed)
by mirabilos (subscriber, #84359)
[Link]
Sometimes there are tabs that just use up lots of resources (RAM, but mostly one full CPU) in the background, despite disabling service workers, so I still do that.
Posted Sep 18, 2025 14:44 UTC (Thu)
by millihertz (guest, #175019)
[Link]
Call me old-fashioned, but I would rather have the browser segfault than DoS the entire system it's running on... which, as I understand it, isn't fantastic for security either, to address another point raised in these comments.
Posted Sep 7, 2025 6:43 UTC (Sun)
by hsivonen (subscriber, #91034)
[Link] (20 responses)
With multi-process browsers, 64-bit is more about address space than about memory usage.
Posted Sep 7, 2025 6:54 UTC (Sun)
by hsivonen (subscriber, #91034)
[Link] (2 responses)
Posted Sep 7, 2025 9:42 UTC (Sun)
by jreiser (subscriber, #11027)
[Link] (1 responses)
Posted Sep 7, 2025 9:49 UTC (Sun)
by wtarreau (subscriber, #51152)
[Link]
I absolutely agree. For example my build farm at home runs on cortex A72 cores. After long testing, it appears that 32-bit thumb2 binaries are up to ~20% faster than aarch64 ones. Needless to say that I've built my toolchains for that target! In all my tests, aarch64 code is systematically bigger and slower than thumb2, it's sad that they've not worked on a compact and efficient instruction set for aarch64.
Posted Sep 7, 2025 16:52 UTC (Sun)
by mirabilos (subscriber, #84359)
[Link] (16 responses)
But at that time (before it split itself into multiple processes) it was still a very useful way to save on RAM.
I’d love to still be able to limit that, at least on the “8 GiB is maximum you can put in” laptop.
Posted Sep 7, 2025 17:01 UTC (Sun)
by mb (subscriber, #50428)
[Link] (15 responses)
Have you looked into cgroups for limiting the memory consumption of applications?
Posted Sep 7, 2025 18:06 UTC (Sun)
by mirabilos (subscriber, #84359)
[Link] (14 responses)
Posted Sep 11, 2025 10:48 UTC (Thu)
by kpfleming (subscriber, #23250)
[Link] (6 responses)
Posted Sep 11, 2025 13:00 UTC (Thu)
by mathstuf (subscriber, #69389)
[Link]
Posted Sep 11, 2025 22:27 UTC (Thu)
by mbunkus (subscriber, #87248)
[Link]
systemd-run --user --property=MemoryMax=16G firefox
Posted Sep 11, 2025 22:49 UTC (Thu)
by mirabilos (subscriber, #84359)
[Link] (3 responses)
> never saw any useful docs for how to use them other than “just use systemd, man
You fulfilled the cliché beautifully, though, I’ve to admit.
(No, I don’t and won’t run systemd, period.)
Posted Sep 12, 2025 6:08 UTC (Fri)
by zdzichu (guest, #17118)
[Link] (2 responses)
Posted Sep 12, 2025 15:03 UTC (Fri)
by mirabilos (subscriber, #84359)
[Link] (1 responses)
Posted Sep 12, 2025 20:58 UTC (Fri)
by Cyberax (✭ supporter ✭, #52523)
[Link]
Posted Sep 11, 2025 13:49 UTC (Thu)
by intelfx (subscriber, #130118)
[Link] (2 responses)
Well, cgmanager exists (or, at least, existed). In its time it was absolutely a viable alternative to systemd, and docker used to support both. The upstream development stopped in 2020, presumably because nobody wanted to do it anymore.
It’s hardly systemd’s fault that it turned out so good nobody actually desired to continue developing the alternatives.
> and then there’s the v1 vs. v2 issue
There is no issue. One is obsolete, other is actively supported.
Posted Sep 11, 2025 22:52 UTC (Thu)
by mirabilos (subscriber, #84359)
[Link] (1 responses)
> > and then there’s the v1 vs. v2 issue
Who cares about supported?
The issue is that some software will only work with one of them. (I *think* I had to mkdir and mount cgroups v1 stuff in trixie to get… something… to work, Docker maybe or libvirt).
Posted Sep 11, 2025 23:23 UTC (Thu)
by intelfx (subscriber, #130118)
[Link]
Precisely. Case in point.
> Who cares about supported?
Those who write the code that you complain about.
Posted Sep 13, 2025 17:11 UTC (Sat)
by donald.buczek (subscriber, #112892)
[Link] (2 responses)
You and most people will probably already know this, but of course you can also use cgroups without any special software by manipulating the files and directories in /sys/fs/cgroup (or wherever else you mount the cgroup2 filesystem).
However, I don't know whether this helps in the context of libvirt and Docker. I'm not familiar with them and don't know what their requirements are.
Posted Sep 13, 2025 17:38 UTC (Sat)
by mirabilos (subscriber, #84359)
[Link] (1 responses)
Much appreciated.
Posted Sep 16, 2025 7:11 UTC (Tue)
by taladar (subscriber, #68407)
[Link]
Posted Sep 18, 2025 14:37 UTC (Thu)
by millihertz (guest, #175019)
[Link]
Missing the reason
Missing the reason
Wol
Missing the reason
Modern Firefox is likely to hit both the physical (installed) memory limits and the virtual addressing limits of 32-bit machines, and it really only gets worse over time:
Memory limits
Missing the reason
Missing the reason
Missing the reason
Firefox memory leaks: alternative to a full browser kill and restart to recover the leaked memory
Firefox memory leaks: alternative to a full browser kill and restart to recover the leaked memory
Missing the reason
Missing the reason
Missing the reason
Costs and benefits are multi-dimensional
Costs and benefits are multi-dimensional
Missing the reason
Missing the reason
That would even work with multi process applications.
Missing the reason
Missing the reason
Missing the reason
Missing the reason
Missing the reason
Missing the reason
Missing the reason
Missing the reason
Missing the reason
Missing the reason
>
> There is no issue. One is obsolete, other is actively supported.
Missing the reason
Missing the reason
Everything is documented at https://docs.kernel.org/admin-guide/cgroup-v2.html.
Missing the reason
Missing the reason
Missing the reason