NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
Linux 7.3 improves performance when running out of vRAM (pixelcluster.dev)
SquareWheel 14 hours ago [-]
This seems like an impressive improvement, and I'm looking forward to it eventually being upstreamed. Though unfortunately I'm on Nvidia right now, and have been struggling with vram. They don't seem to support any kind of paging at all.

I am curious about the bit on virtual memory fragmentation. Would it make sense for the kernel to occasionally defragment that memory in place? I assume that would create a noticeable hitch, but might improve performance otherwise and allow for some applications to just fit in.

krisknez 1 days ago [-]
I hope there will be an update where when my RAM gets full my PC doesn't freeze and becomes unusable... I remember that Linux and Windows do this in different ways and Windows doesn't have the problem.
stillpointlab 18 hours ago [-]
This gripe (that I literally crashed out on recently after maining Fedora for the first time) is top of my list for annoyance/frustration with Linux as a desktop.

I now have btop permanently running in a Terminal and I habitually Alt-Tab to it to watch my swap. As soon as my free memory gets less than 1 Gb I kill any Firefox tabs (the memory black hole).

I know this won't be popular, but Linux people have some kind of Stockholm Syndrome on this. They tell you all of the obscure configuration files you have to edit, the additional programs you install. They insist that just having the OS kill a random program to save the DE is a good plan. It's the typical "your holding it wrong" mantra.

I run both Windows and MacOS and have done so for decades. I cannot remember the last time I had a hard freeze like I get on Fedora. On the exact same box running Windows I was able to have VS Code, Chrome with 15+ tabs, terminals, docker, etc. all running with zero issues. On Fedora I have a handful of Terminals and Firefox with less than ten tabs and nothing else running and I have to watch btop like a hawk.

The excuses people make are mind bending, and the shifting of blame from the system onto the user is shameful.

phiresky 16 hours ago [-]
Which OS are you using? systemd-oomd (or similar) afaik is enabled in many modern releases and fixes it. The default settings (on Arch) make it kill stuff when your CPU is spending 60% of time on reclaiming memory over some time period. So you'll get 20 seconds of lag, then it is fixed.

By killing a program, yes, but how else do you expect it to work? If your RAM is not enough you have to kill stuff. And I really doubt you mean to say that Windows is _more RAM efficient_ than Linux, because that's kind of absurd. Maybe Firefox is less RAM efficient than Chrome.

Edit: MacOS I wouldn't doubt being better in RAM management than the others because they have been selling their devices with ridiculously low amounts of RAM for decades.

stillpointlab 16 hours ago [-]
> how else do you expect it to work

How does it work on Windows and MacOS where I don't get the same freezes and random programs aren't killed by the OS? Because I'd expect it to work like that.

There is this false dichotomy, a black and white kind of thinking on display.

> And I really doubt you mean to say that Windows is _more RAM efficient_ than Linux

What I'm saying ought to be clear to anyone willing to listen. My system should not get into an unrecoverable freezing state when I am doing routine tasks on a fresh install of an OS. And the community that is supposed to champion this OS should not then shift the blame to me if I complain about it.

weinzierl 15 hours ago [-]
"How does it work on Windows[..]"

This video from Mark Russinovich is a classic explaining it. It is old but still relevant.

https://m.youtube.com/watch?v=AjTl53I_qzY&ra=m

"My system should not get into an unrecoverable freezing state[..]"

There is a good precedent for what you want: Safety critical embedded systems. Your car ECU should not be in an unrecoverable freezing state when you want to break.

These embedded systems also are known to be terribly memory inefficient because every bit of memory is statically assigned and never reused.

So, it is not that what you want is impossible, it's just wasteful and expensive.

Linux and Windows sit on slightly different points on this spectrum (opposite of said embedded systems) and what you perceive as Windows' better behavior under memory pressure has a price too.

thereforegrin 10 hours ago [-]
and killing programs and/or freezing the OS is somehow more efficient? By what metric? Certainly not by any UX or productivity one.

I've moved to Linux from Windows some years ago but the first thing that shocked me was precisely the abysmal performance around low memory availability.

Got my system stabilized eventually by means of some magical incantations but this wasn't a pleasant experience and I wouldn't want to repeat it.

It's beyond me how come Linux is so decrepid in this particular area compared to Windows.

hnlmorg 14 hours ago [-]
I get memory related freezes on macOS all the time.

And back when I was forced into running Windows, I used to get memory-related freezes daily. Literally daily.

So I’m really not convinced the situation is drastically different there. I mean if it were that simple, Linux would have fixed it already.

jamesfinlayson 11 hours ago [-]
Yeah I got MacOS freezes sometimes - never checked Activity Monitor to see why though.

On Windows it's usually the hard drive being over-used that makes things drag for me.

hnlmorg 4 hours ago [-]
Yeah, Windows file system backend is highly object oriented and has a bunch of event driven hooks. Which is great for supporting tools like antivirus. But terrible for lots of small random writes (on area Linux and most UNIX systems excel at).
LtdJorge 13 hours ago [-]
Windows makes you miserable when low on RAM. Linux makes you miserable when you get out of RAM.
drdexebtjl 14 hours ago [-]
macOS shows a modal with a list of offending applications and how much RAM they're using. Some of those applications are "paused", marked in red, some are "not responding", and some are responding normally.

You can pick applications from that list and choose between "Resume" (for "paused" applications) or "Force Quit".

At no point the system becomes unresponsive.

Groxx 14 hours ago [-]
Freeze as many applications as necessary to reserve room for the DE so I can choose what to do?

Surely that's obvious to other people aside from me. It's an attended system, not a headless server in a rack hundreds of miles away that must not ever alert someone.

chowells 16 hours ago [-]
The ideal would be to go into swap without becoming unresponsive, so that the user can quit a program of their choice to free memory. If you really want to make an issue out of it, do something like pre-X macOS, where it would provide a warning when you are getting close to running out of memory, so that a user might have the chance to do something before the current process starts getting swapped out.
hnlmorg 13 hours ago [-]
> The ideal would be to go into swap without becoming unresponsive, so that the user can quit a program of their choice to free memory.

Linux already does this. The issue is when your swap is full too, or you’ve exhausted your RAM at such a rapid pace that the disk IO cannot keep up with the read and writes to swap.

I’ve seen Windows choke under the same conditions too.

> do something like pre-X macOS, where it would provide a warning when you are getting close to running out of memory, so that a user might have the chance to do something before the current process starts getting swapped out.

This is where the desktop and the kernel being entirely separate organisations (not even projects, but literal organisations) makes things a touch harder. And those DEs aren’t even Linux specific either. So any tooling would have to portable (which, in fairness, should be possible with POSIX in this particular scenario).

I think KDE does provide tools here for gracefully handling memory constraints. But that’s just one desktop environment of many.

LtdJorge 13 hours ago [-]
>> do something like pre-X macOS, where it would provide a warning when you are getting close to running out of memory

And I've run out of memory while compiling packages (I'm looking at you, composable-kernel) on Gentoo. It's not like it can notify me and I close things in the milliseconds it takes for a few more GCC processes to spawn and allocate and fault all the remaining memory.

LtdJorge 13 hours ago [-]
Swap is extremely slow. And if running it on a high-end NVMe, you better hope you don't swap often.
LtdJorge 13 hours ago [-]
Firefox is definitely more RAM efficient than Chrome, in my experience.
deepsun 12 hours ago [-]
Linux can, and does, prevent a program to claim any new memory. Like literally malloc() returns null. How program reacts to that is up to the program.

Also I know linux has `cgroup_enable=memory` setting in /etc/default/grub, that's for Docker/K8S to be able to watch over containers RAM. It's not enabled by default as it slows down OS a little. Don't know if it's related to my first point.

eli_gottlieb 16 hours ago [-]
Call me an old geezer but I remember having this thing called swap.
nomel 10 hours ago [-]
Yeah, I'm super confused. Is the 34 year old solution to this (swap) somehow broken these days?
Twirrim 15 hours ago [-]
Right, and when it gets filled, the OOM killer comes along and does its thing.
dwattttt 13 hours ago [-]
On some platforms. Others make other arrangements, with other tradeoffs.

It's been less than 24 hours since an OOM killer was identified as responsible for a bug I was experiencing.

cobar 15 hours ago [-]
Same problem I've had. On a 24GB MacBook Air, I can have a VMWare VM, Lima and an IDE and a bunch of Chrome tabs loaded and the system is fluid.

Meanwhile if I try something similar on a 32GB Linux system, it will sputter or outright freeze. Suspend the system at 16GB used and on wakeup it takes 15 seconds to get back to full responsiveness.

Yes, some of this can be addressed with swappiness settings, however that behavior isn't partically clear and doesn't take into account that depending on your workflow on a given day (e.g. coding then video editing) different swap behaviors may be more optimal. Nor does it help for people who are trying to get good productivity out of a 16GB or lower system.

The one thing that has helped is moving to Brave Origin. Whether that's loading less JS ad SDKs or general optimization, it does seem to use a lot less ram than Edge/Chrome.

3eb7988a1663 7 hours ago [-]
Possibly not a solution for your use case, but I use earlyoom[0]. When memory crosses a threshold value, it will kill the worst offender. Has some knobs to tweak: what threshold level you want, which programs to keep safe, which to prioritize, etc. Never had to touch the configuration, out of the box has been sufficient for me.

I use it when I am doing exploratory work and might materialize something too big. It has always killed the Python process or terminal program which did something silly.

[0] https://github.com/rfjakob/earlyoom

parl_match 18 hours ago [-]
The Linux Desktop people have been singing the song of "works for me" for decades, which is as long as they've been unable to crack double digit users.
47635274172635 8 hours ago [-]
Who should do it for you? If anyone wants they can submit a patch for it.

The Linux world is a different kind of beast. I too went through the same motions as many newbies but at some point I just stopped complaining and started fixing what I didn't like.

If you start screaming for corporate money which should fix things that's another can of worms, corporate doesn't really do good will, they are usually buying control whenever they pour money into a project. Which can become tricky for Linux.

parl_match 5 hours ago [-]
"Works for me and if it doesn't work for you, just fix it." Great, I should learn to become a kernel and device driver developer just to have a working desktop environment with non-tearing windowed video (still somehow an issue)?

What a fucking joke lmao. I'll just keep buying Macs.

> Who should do it for you?

People who want me to use it.

stillpointlab 17 hours ago [-]
I mean, I'm to blame at the moment as well. I'm putting up with it because I don't want to use Windows, mostly because I'm doing a lot of agent dev and I saw them struggle in a Windows environment. And there is a little spite driving me since Windows 11 is full of ads and I felt like it was pushed on me when I wanted to stay on Windows 10.

The vast majority of my computer use has been on MacOS for the last 15+ years, since a Macbook Pro is the standard issue dev environment at every company I have worked at. I had a Windows desktop entirely for gaming that I've repurposed to be a Linux dev box. I genuinely thought all of the hype about Linux desktop that I have seen lately was an indication that it was finally ready for general use.

Now that I am vigilant watching RAM I haven't had the freezes. And I refuse to let the OS roll the dice on what program it wants to kill in its last ditch attempt to save itself from a problem it shouldn't have in the first place. And since Firefox seems to demand 800MB-1GB per tab process, it is a reliable scheme to just close heavy tabs when I see memory dip into the danger zone.

I just wish RAM wasn't so expensive right now, since I'd buy as much as I could just to avoid this pain.

cobar 15 hours ago [-]
If you have an extra NVME slot you could look at picking up an Optane 800P drive. Extremely low latency reads and writes, which makes it ideal for swap. They're available for ~$100 on eBay.
14 hours ago [-]
ASalazarMX 17 hours ago [-]
I'm ashamed to daily run Ubuntu at home with Chrome (a dozen tabs), Firefox (literally hundreds of tabs, but only a few active), Thunderbird, RSSGuard, whatever I'm currently working with, and sometimes Steam and a AAA game on top of that. Never felt the need to close anything, but I must confess I have 64 Gb of RAM.

At work I ran the same Firefox profile in Windows, with 16 GB of RAM, it used to eat RAM more eagerly, and restarting only helped for a few hours. I never understood why, but GMail and WhatsApp tabs were usually the biggest memory drains.

I'm just happy I don't have to deal with that anymore, since we were moved to iMacs at work, and the same Firefox profile gives no trouble with 24 Gb or RAM. WhatsApp is still the hungriest tab, but it stabilizes. Maybe there's a sweet spot between which tabs are opened and how much RAM do you have?

frollogaston 14 hours ago [-]
Macs will compress infrequently-used memory, and of course everything will swap. So you can have tons of idle tabs that aren't using physical RAM.
hnlmorg 13 hours ago [-]
That’s not the case with Firefox.

I’ve found a few idle YouTube tabs is enough to bring macOS to its knees. Though I do wonder if uBlock Origin is the hidden cause rather than Firefox itself.

LtdJorge 13 hours ago [-]
YouTube is absolutely atrocious. And it never stops trying to load AD content, even if the user is Premium. So uBlock Origin can sit at 1500 blocked requests in less than an hour.
larksimian 17 hours ago [-]
Just ask any of the last gen coding agents to fix this for you and they'll make a script that tweaks a few things and it just works.

Is it acceptable? No. Did it solve my endless crashes that I used to get every day? Yes.

I don't love Ubuntu, I just hate modern Windows and find my ubuntu for work popos for gaming setup to be better for me. Ymmv.

nchmy 13 hours ago [-]
why ubuntu for work and (ubuntu-based) popos for gaming? why not popos for both?
trentnelson 16 hours ago [-]
Possibly an unpopular opinion on this forum, but virtual memory has always been one of the strengths of the NT kernel. (And integration between the cache manager, virtual memory manager, file system (NTFS), overlapped I/O, completion ports, and threading. It’s a very robust and performant foundation when leveraged correctly.)
hnlmorg 13 hours ago [-]
It might be now, but the default settings back in the 2000 and XP era were far from optimal.
thereforegrin 10 hours ago [-]
doesn't Linux have virtual memory too? That would be retarded, though it would explain a lot.
to11mtm 10 hours ago [-]
....

Well, As a bizarre counter thought...

My work PC, at least with all of the corporate fuckware installed...

I tend to see two behaviors when moving between work and home.

Either:

A - It won't go out of sleep, it basically forces a reboot.

Or,

B - It leaks memory that I can't free without a hard reboot, to where even copy-pasting becomes absolutely jank (my favorite nasty behavior; it double-processes paste operations, not fun when dealing with credentials...)

I do have 'local admin' and while I only checked a couple of times, both times it looked like even then I couldn't do a force kill/restart of whatever was jacking the thing up.

Meanwhile my wife's current 'my old' PC with the same amount of RAM as work laptop and probably lower/older CPU spec could last between forced windows updates without a reboot and a lot more general churn.

-----

If there's one reason I'm bringing this up, it's because I know my work PC has a lot more 'kernel' type management stuff installed...

And yeah, workplace people in charge of that stuff gives that same weird 'blame the user' focus as what you describe.

AlienRobot 14 hours ago [-]
Same. What I find pretty incredible is that we've had single core scheduling, then multi-core CPUs, page files, etc., all that stuff as computers progressed through the decades, just for a single app freezing the entire system in 2026.

Where did the technology go?

andrepd 17 hours ago [-]
> I now have btop permanently running in a Terminal and I habitually Alt-Tab to it to watch my swap. As soon as my free memory gets less than 1 Gb I kill any Firefox tabs (the memory black hole).

This is what nohang [0] does. There is no reason to do that by hand. Obscure configuration files to edit?

Yeah it's kind of annoying that it's not built in to most desktop distros, but... literally `apt install nohang; systemctl enable --now nohang.service`. Hardly that difficult.

[0]: https://github.com/hakavlad/nohang

stillpointlab 16 hours ago [-]
So your saying the problem I am reporting is not a problem because it is obviously my responsibility to research the dozen available workarounds listed on internet forums, figure out which ones are not brand new footguns or genuine security risks, install sudo level programs from github that as the Warnings section on that repo confess "the daemon runs with super-user privileges and has full access to all private memory of all processes and sensitive user data;"

And then I scroll down and see the install instructions for my distro:

  > To install on Fedora:  
  >   
  > Orphaned for 6+ weeks, not available.  
It's funny I hear people slag npm all the time for developers just YOLO installing any dependency for the webservers they run.

But hey, just sudo install this package! What could go wrong? You only use your desktop to access your online banking, etc. Forget the trust mechanism of your distro and just live a little!

augusto-moura 21 hours ago [-]
Have you tried setting up systemd-oomd [1]? It works by killing the offending process (hopefully) before a true OOM.

When I run in a frozen system because of RAM, I'm a happy user of the Magic SysRq 'f' [2], it bypasses most kernel scheduling so it works even on frozen systems

[1]: https://man.archlinux.org/man/systemd-oomd.8

[2]: https://en.wikipedia.org/wiki/Magic_SysRq_key

webstrand 23 hours ago [-]
Its not enabled by default, but enabling MGLRU setting /sys/kernel/mm/lru_gen/min_ttl_ms to 70 has entirely resolved the issue for me. It _does_ usually pick firefox or vscode to kill, but my system remains interactive, with no need for earlyoom.

Docs https://docs.kernel.org/admin-guide/mm/multigen_lru.html#thr...

mtgh2s 23 hours ago [-]
From my experience, Windows does freeze and become completely unusable too, just not usually from RAM usage hitting 100%.

I don't use Windows much, nor do I care much about that environment, but from what I've seen it seems to keep RAM usage below 100% most of the time. What I do see pretty often is the drive getting stuck at 100% usage instead, which makes the whole system ridiculously unusable anyway.

da_chicken 20 hours ago [-]
Windows does freeze and become unstable, but it's usually because of some ring 0 errors not getting trapped appropriately.

But Windows has always handled both OOM and out of disk space very well. The system will be extremely sluggish, but it typically continues operating.

The Linux design is to keep using memory, then push to swap, and then when you OOM you hard lock. The built in kernel OOM module can miss when RAM usage spikes rapidly. You can enable OOM monitors like systemd-oomd or earlyoom, but they do not run by default, and their behavior is to term the offending process.

The thing about Windows is that when you request memory, you're only granted memory if it can be guaranteed in the first place. The application will get a "not enough memory" error. On Linux, you're permitted to request more memory than the system actually has, with the idea that you won't actually use that much memory. It's optimistic that way. But if you do use it, then you're screwed.

wahern 19 hours ago [-]
Doesn't Windows, like macOS, automatically expand swap? You can't run out of memory nearly as quickly as you can on Linux. And at least on Windows I always figured this is why it felt so sluggish under load--it ends up paging alot. Not sure why macOS has always felt more consistent; perhaps the OS and major apps are less gratuitous memory hogs?
MartinodF 17 hours ago [-]
If you're referring to Apple Silicon, my intuition is that the SoC design allows for higher bandwidth between SSD and RAM which reduces the performance impact of paging. I might be totally wrong though
akdev1l 19 hours ago [-]
Linux can be configured to disable memory overcommit

sysctl -w vm.overcommit_memory=2 sysctl -w vm.overcommit_ratio=50

It is probably a bad idea to do that though as it will limit the amount of virtual address space an application can use

yayachiken 15 hours ago [-]
Note that the fork()/execve() semantics of Linux pretty much depend on memory overcommit. You may get weird OOM crashes when there is seemingly no memory pressure, if you turn overcommit off.

In the short time between fork() and execve(), the new process duplicates the entire virtual memory of the old one. None of this is physically allocated due to copy-on-write, but still all counts as virtual memory.

Dylan16807 12 hours ago [-]
Has anybody tried a compromise? Like, the program forks and overcommit is ignored for it for a 1 second grace period? I know it would be more complicated than that, but something along those general lines.
W3zzy 22 hours ago [-]
Haven't had Windows freeze on me for ages. I had a frozen linux server that ran out of RAM yesterday.
ASalazarMX 17 hours ago [-]
> I had a frozen linux server that ran out of RAM yesterday

This has so many variables that it's practically useless as a data point. We have a few Ubuntu VMs running complex business web applications and their Postgres database on only 4 GB or RAM and 20-50 GB of storage, no swap space. Ocassional high load, but Zero OOM problems for many years.

We could upgrade the RAM, but we were stingy when we created them, and it has worked well so far, so why waste resources? Incidentally, using no swap was a deliberate choice, as it would slow things down too much. We preferred to see and correct any memory/OOM issues beforehand, but fortunately we had none.

W3zzy 5 hours ago [-]
True. It's just a tiny Lenovo that I've repurposed as a homelab and that is punching above it's weight with to many applications I suppose. Either way the logs point to RAM issues but it could be my incompetence.
LtWorf 22 hours ago [-]
Use a windows server then :D
mtgh2s 22 hours ago [-]
edit: I meant that regularly hitting OOM on a production server is usually more of a provisioning/resource-management issue. Obviously, how the OS handles OOM once it happens is still its responsibility.

Running out of memory on a linux server sounds more like a skill issue than something comparable to how a desktop OS should behave :\

Espressosaurus 20 hours ago [-]
Windows uses eager memory allocation, and applications will die when they allocate (and think image editor loads a beefy image) or fail to start when it runs out of memory.

Linux uses lazy allocation and overcommits, so what dies isn’t necessarily what you would expect thanks to the OOM killer.

With a fixed swap size windows doesn’t necessarily slow down as it runs out of memory.

YMMV if you don’t have 64 gigs of RAM and a 64 gig swap.

manwe150 18 hours ago [-]
The difference is Linux has fork, while Windows doesn’t, so Linux cannot do accurate accounting (without wasting a lot of memory) while Windows can.
pjmlp 15 hours ago [-]
macOS is a UNIX as well, and it isn't the only UNIX that manages to do accounting properly.
hnlmorg 13 hours ago [-]
macOS includes a GUI user land whereas Linux is just a kernel.

So Apple can build a whole user-controlled GUI workflow around memory exceptions, which Linux cannot.

Maybe what needs to happen is new Linux syscalls + signals for DEs to utilise for building memory exception UIs? But the problem then with that is you’re impacting the portability of those DEs. So some maintainers might still refuse to work with Linux to provide this.

That all said, I’m pretty sure KDE does provide GUI tools for when this kind of scenario arises.

pjmlp 6 hours ago [-]
I mentioned they aren't the only UNIX where this isn't a problem.

Also we cannot use the reasoning Linux means distributions, instead of using GNU/Linux for it, and other times Linux is just the kernel, depending on convenience.

hnlmorg 4 hours ago [-]
> I mentioned they aren't the only UNIX where this isn't a problem.

You did. But without examples, it’s a meaningless throwaway.

Personally, I can’t say I’ve pushed many other UNIX desktops that far that they’ve OOMed. Except maybe OpenSolaris and FreeBSD, neither of which faired much better. But they’d also suffer from the same kind of DE development issues I described for Linux.

> Also we cannot use the reasoning Linux means distributions, instead of using GNU/Linux for it, and other times Linux is just the kernel, depending on convenience.

I’m not saying it for convenience. I’m saying it because it matters in this specific situation.

Surely you must understand that the reason Windows and macOS have arguably better GUI support for OOM is because the same company that owns the kernel also writes the frontend too? It’s hardly rocket science as a concept.

As I said in my previous comment, there are ways Linux (the kernel) could work with DEs to bridge that gap. But at present, they’re entirely separate concerns.

pjmlp 4 hours ago [-]
Who says it needs to be desktop for proper memory management, servers and embedded can crash willy-nilly with OOM?

In any case, Xenix, DG/UX, SunOS/Solaris, Aix, HP-UX, z/OS UNIX, NeXTSTEP.

hnlmorg 2 hours ago [-]
> Who says it needs to be desktop for proper memory management, servers and embedded can crash willy-nilly with OOM?

The context of the thread is about the UX.

And the OS crashing isn’t a better option than an OOM killer. Frankly, there’s no good automated options. That’s why modern desktop OSs present users with a warning. And hence why we are talking about GUIs.

> In any case, Xenix, DG/UX, SunOS/Solaris, Aix, HP-UX, z/OS UNIX, NeXTSTEP.

Listing OSs doesn’t explain how they handle things better.

For example you’ve cited SunOS and I already said previously, I’ve seen SunOS completely die on its arse when OOM.

coliveira 17 hours ago [-]
This is the best explanation, thanks.
vablings 20 hours ago [-]
Windows will aggressively page out as you approach RAM usage, MacOS does the same but based on activity iirc. On Linux if you just set up paging (forgot how i did this on arch) you won't have any issues.
Avamander 14 hours ago [-]
I have never had Windows fail so catastrophically as Linux does on OOM or disk exhaustion. Many distros probably still fail to boot with a full disk.

Linux OOM handling is just atrocious.

kalaksi 1 days ago [-]
Me too, but you can improve the behavior yourself too. It's been an issue with desktop linux and the default settings for a long time. You could maybe tune OOM killer settings, but another option is to use a package like earlyoom: https://man.archlinux.org/man/earlyoom.1.en
NekkoDroid 23 hours ago [-]
For me Windows becomes unusable as soon as any of my drives is being hammered, including when it is swapping, but not limited to it.
sunaookami 22 hours ago [-]
Explorer freezes too when an external hard drive spins up, very annoying.
frollogaston 18 hours ago [-]
I remember my older Macs and Windows 98 laptops liked spinning the CD randomly, sometimes waiting to read it. I'd eject it when I hear it spinning. No CD for you.
efreak 9 hours ago [-]
I kept my floppy drive installed until I got tired of explorer freezing every time I accidentally selected it (quite often as I have a habit of navigating with the keyboard)
trompetenaccoun 20 hours ago [-]
It's such a strange issue which existed in Windows for ages, even though on the surface it seems like it would be easy to fix.
qwertox 21 hours ago [-]
Windows does freeze when a Chromium-based browser decides to hug the pc.

Chrome/Vivaldi are the only browsers where, when i have a long HN page open, when i resize it, my laptop freezes for like a minute. Not a full freeze, the mouse still moves, but like it's the year 1999 with a refresh rate of 4 seconds.

godelski 7 hours ago [-]
Defaults for swapping and paging unfortunately aren't great. But it's easy to adjust. There's lots of information and fwiw, talking with an LLM I found that they ended up suggesting similar things to what I set for my system (pre LLMs). Of course, don't blindly trust, but it was one thing I did to test them (and expected to be relatively good considering the amount of available information, though hard to sort through, especially for non experts). On the other side, many modern distros are getting better defaults. The difficulty here is that the right values are wrong for most setups and Linux is targeting a much broader range of hardware than windows. Though that's where distros come in
jmbwell 22 hours ago [-]
Solaris family kernels move this problem to run/allocation time, instead of waiting for the system to become unusable before trying to do something about it. Kinda nice
yencabulator 19 hours ago [-]

  echo 2 | sudo tee /proc/sys/vm/overcommit_memory
is there on Linux if you want it.

https://www.kernel.org/doc/html/latest/mm/overcommit-account...

qurren 13 hours ago [-]
I just solved the problem by shoving 192GB of RAM into my desktop and 96GB into my laptop and called it a day.

Of course I did this when RAM was cheap but one of the best decisions I have ever made in life.

tcdent 17 hours ago [-]
Wait, how does literally no one in this thread mention swap?

IME, many default installations in recent years don't configure swap by default. Dedicate a few tens-of-gigabytes on your hard drive and memory overflows there instead of borking.

frollogaston 14 hours ago [-]
Sometimes I use swap, but >half the time I'm intentionally disabling it so the system doesn't go into livelock. I'd rather have an OOM than an unresponsive system. Granted this is usually on some headless Linux machine running batch jobs, not my PC.
Telaneo 17 hours ago [-]
It only postpones the inevitable. It doean't actually fix it. I went for a 64 GB swapfile to hopefully not have to worry about it any more, only to find my swapfile full after a few days anyway, even when configuring swappiness to a minimum. Shit just piles up for no apparent reason. I'm sure someone smarter than me can diagnose the problem, but I just decided to reduce the swapfile size to a more sensible value and reboot every now and then. I should probably try Zram or whatever to see if that mitigates the problem.
tcdent 16 hours ago [-]
Oh, that's just a garden variety memory leak.

Most applications these days are very good about that; you likely have just a single app that you use regularly that leaks. If you kill the process the memory will be recovered, save for some allocations the kernel maintains.

nomel 10 hours ago [-]
"top" or maybe "slabtop" will find the offending, very very broken, program that's leaking memory like crazy, making your system doomed no matter what you do or how much physical memory you install.
Dylan16807 12 hours ago [-]
It's not inevitable for most use cases.
15 hours ago [-]
schmorptron 15 hours ago [-]
Agreed. I've run into this way too many times, and now with a super aggressive oom killer config it still slows down until vscode or firefox just get closed. I wish it was similar to how it seems to be on MacOS from what I see on friends' screens, where theres some kind of hypervisor running that pops up a nice responsive GUI window saying "hey, xyz is using too much memory, close it or something else" while not locking up. But maybe that's also just the grass being greener on the other side?
frollogaston 18 hours ago [-]
Just last night I was debugging some batch job on a Linux box making the machine go unresponsive even though there's no swap. User process taking all the RAM and the OOM killer doesn't stop it, instead the killer itself gets live-locked along with the ssh session or whatever else, so I can't just get in to look at it.
Dylan16807 12 hours ago [-]
> even though there's no swap

When your OOM killer isn't aggressive enough, not having swap makes you go fully unresponsive sooner. You still get into a situation where the OS keeps having to purge pages and read them again from disk. But without swap one hand is tied behind its back and it can only purge code pages, not data pages.

frollogaston 11 hours ago [-]
Yeah, I figured in the end that's what was happening
rfgplk 19 hours ago [-]
Configure overcommit_memory, overcommit_ratio, admin|user_reserve_kbytes, min_free_kbytes, oom_kill_allocating_task, oom_score_adj; if you're on a dev box make it such that even if you approach memory limits to just instantly start killing processes rather than swapping. It's not a solution for servers, but for dev environments it's basically perfect.
merb 19 hours ago [-]
On servers with k8s the default is preempt based on prio, followed by oom kill and ‚newly’ memory qos:

https://kubernetes.io/docs/concepts/scheduling-eviction/pod-...

https://kubernetes.io/docs/concepts/configuration/manage-res...

https://kubernetes.io/docs/concepts/workloads/pods/pod-qos/#... (New feature)

So normally if you overcommit it might be undefined behavior if you not have enough memory. However if everything is fine pods can preempt based on prio to new nodes.

With the right settings only the faulty app might fail. Without it it can be a real pain to find the rouges

ATMLOTTOBEER 21 hours ago [-]
Totally fixable w a little configuration (ask Claude)

But yeah it’s completely ridiculous and frustrating that the default is to just lock up your DE

BitPirate 24 hours ago [-]
zswap and systemd-oomd/earlyoom are your friends.
9 hours ago [-]
ramon156 24 hours ago [-]
earlyoom is what you're looking for. it'll crash the process instead of hang
z_rho_one 17 hours ago [-]
Linux might freeze from occasional OOMs, but Windows is sluggish and unresponsive even when RAM is far from full with all its unnecessary background processes. That's the difference for me.
zozbot234 23 hours ago [-]
Are these directly comparable, though? Doesn't Windows default to using free space on the system drive to grow the swap file in case of memory pressure? Linux has you set up swap files/partitions explicitly.
dijit 23 hours ago [-]
Also the way memory allocation in Windows works is that if it doesn't actually have the physical RAM (extended by pagefile) then the program will crash.

If you disable pagefile (like I did for some of my servers) and your program mallocs more than what you have in available space (even without ever dirtying a page) you will observe this.

I'm sure that this helps Windows a lot, even if it's not counted as actually used until the page is dirty.

Linux programs very often have virtual addresses many times the amount of physical ram, because there's never been any restriction. It's then very easy to just malloc huge chunks and use what you need and don't care about it too much.

Especially with many "tiny" allocations, python for example has huge sized objects which consume gobs of RAM dynamically, so any long running python process not only fragments memory but ends up having a bunch of objects consuming virtual memory...

idk why I felt the need to rant about this, but it's a difference that I've noted.

wongarsu 23 hours ago [-]
Yes, Windows doesn't overcommit memory. In the default config Windows is allowed to grow the page file as much as it wants, and empty pages are cheap to reserve in the page file (no need to actually write those zeros, you just need to reserve space for them). So the end effect is comparable, with the difference that software shouldn't just go ahead and ask for gigabytes of memory it doesn't actually need

I prefer the Windows approach, it's more predictable and has better behavior under memory pressure. But it can cause issues with software written under the assumption that the OS uses memory overcommit

alightsoul 20 hours ago [-]
That's because windows always uses swap by default, and your system will freeze if you run out of swap which is usually 33 gigabytes, or ir your drive and ram are full.
Neil44 23 hours ago [-]
Windows absolutely does have this problem.
ggus 23 hours ago [-]
macOS too sadly. by the time you realise there's a problem the machine is already comatose and unresponsive

all these electron apps and invisible virtual machines (looking at you Claude) really don't help.

Aperocky 23 hours ago [-]
One of the biggest reason I migrated to Codex. I'd like to see each agentic CLI process as a simple building block, and having 100 claude session means I sometimes run out of memory (and I have 256GB of them). Codex never have this problem.

The communication is more direct too with GPT5.6 family of LLM. No more belt and suspenders.

killix 18 hours ago [-]
[flagged]
MBCook 21 hours ago [-]
Macs are also real bad at handling low disk space. I don’t how other OSes do but the best advice on a Mac is to always have a decent amount free.

What’s a decent amount? No idea. Don’t test it :)

frollogaston 14 hours ago [-]
I've also found that the fastest way to totally lock up a Mac kernel is to have some external hard drive fail while connected. You will be unable to open, quit, force quit, or reboot, and it won't boot up again unless that drive is disconnected.
vondur 17 hours ago [-]
Both MacOS and Windows start having issues if you have less than 10% of the disk free. The problem with the Mac is your ~/Library/Application support/ folder can get huge and take up a ton of space. Mine is currently at 55GB
LoganDark 20 hours ago [-]
When my Intel Mac ran out of disk space once, it became impossible to clear the space without rebooting (due to APFS's annoying journaling crap or whatever -- it would literally say "rm: can not remove [whatever]: no space left on device" or something), which caused Google Chrome to wipe all my local storage and cookies because it loves to do that when you run out of disk space, and there's no way to get that data back even if you do somehow clear space with the browser still running. I've been bitten by this many times on at least four different platforms. I wish it could just keep everything on disk instead of deleting it all? Like anything that deletes my data automatically can just go die in my opinion. This is one of the reasons I don't use Google Chrome anymore, another is how it deletes "old" history too (after 3 months) even if you have terabytes free, which is just so offensive I can't even explain it. Ungoogled Chromium lets you turn some of this stuff off, but when I moved to Mac I just started using Safari.

The only way to save my file system was to boot into recovery mode and run a verification with Disk Utility, then I was able to remove some files and get my space back.

MBCook 19 hours ago [-]
FWIW it didn’t do well under HPFS+ either. It’s not a new problem, though it may manifest differently.
jchw 18 hours ago [-]
This seems to always be explained in a confusing and sometimes wrong manner, so I may as well also try to explain it in a confusing and sometimes wrong manner too.

Both Windows and Linux allow applications to map memory in an uncommitted state. However, in Linux, uncommitted memory can magically become committed by simply trying to use it, whereas on Windows you have to first actually commit it with a separate API call.

You might wonder why you would even bother allocating uncommitted memory on Windows if you have to explicitly commit it later. Simple: just to reserve a contiguous slice of address space for later.

The consequence of this is that on Windows an allocation failure usually occurs at an API call where it can return a failure, and indeed does. On Linux though, an allocation can fail during a page fault that is entirely transparent to the application. So instead, the default behavior is to allow overcommit, where applications are allowed to commit more memory than the system actually has, under the assumption that in many cases it won't all be in use at once. Instead of an application hitting an error or crashing on a failed allocation, if there is no memory left, a process simply hangs.

Here's my take on why this is the way it is:

- Because programs are written without any knowledge of what memory pages are committed, applications will allocate physical memory pages transparently even if they didn't malloc or mmap anything. Because of that, when an allocation fails under memory pressure, it's pretty likely the first page to stall on overcommit isn't really related to the actual memory pressure.

- To try to mitigate this, during high memory pressure situations, mechanisms like the OOM killer have to score tasks based on several factors to try to guess which ones are causing the problem.

- When you have something like make -j running, it is pretty easy for it to choose Firefox instead of the 200 instances of Clang, since individually none of those Clang instances are really using much memory. This, of course, doesn't fix the bleeding, it just kills your browser. There are ways to mitigate this problem, but they are not often implemented and nothing will ever be perfect.

One may wonder if it is worth the trouble... Probably not, but it does have its advantages, particularly when it comes to databases and caches, which can aggressively reserve memory and mmap files and heavily lean on demand paging for memory management. It's just that in this case, managing memory pressure becomes somewhat heuristics-based, and tools like cgroups are often desired to isolate failure domains and control memory allocations in production systems.

This is a tough problem to solve. Many improvements to the Linux OOM situation have been made, from simply fixing problems that made the wedging even worse, to tweaking the OOM scoring, to usermode daemons like systemd-oomd that try to catch memory pressure earlier. However, so far this is a solidly unsolved problem - the same exact wedging is still possible today.

As hopeless as it seems, I am still open-minded here. The Linux desktop moves slow, but nonetheless it seems pretty good at overcoming challenging obstacles.

codatory 18 hours ago [-]
A lot of cargo-culted sysctl tuning blogs will get you there... Linux doesn't have that problem, your chosen distro/config does. E.g., CachyOS is tuned for absolute minimum latency and assumes you won't be heavily multitasking. Using that as a workstation requires adjustments.
akvadrako 18 hours ago [-]
I had this symptom due to having an SSD without a RAM cache, which caused the latency of disk access to rise to seconds under heavy paging, effectively freezing the computer. Enabling the kyber IO scheduler, tuned for responsiveness over throughput, solved it for me.
dormento 22 hours ago [-]
> Windows doesn't have the problem

Maybe not in the same way then.

Anyways, you've unlocked an old memory of mine, where Windows would crap itself due to low RAM and the fonts and interface elements would render in a "compatible" way, like using "fixedsys" font everywhere.

vctrnk 21 hours ago [-]
Whoa, now that's a trip down the lane. I've seen it too!

But only in veeery old Windows, think Win95B or the like.

anonymars 21 hours ago [-]
It happens sometimes, even in the present day: almost certainly it means something leaked and hit 9999 GDI objects (or user objects?) -- you can add those columns in task manager. Killing the offending process should fix it
leni536 20 hours ago [-]
My experience is that if you have swap you better have a lot of it. Swapping is bad, but swapping and thrashing is a disaster.
dolmen 23 hours ago [-]
When my RAM gets full the kernel kills Firefox (3 profiles) so the PC becomes unusable, with lost data.
alex7o 22 hours ago [-]
use a browser that saves tabs on disk like zen browser I sometimes stop it when playing games since it will preserve tab state
dismalaf 14 hours ago [-]
You've never been given a corporate laptop with MS Teams? Mine would literally prevent me from opening apps before it reclaimed memory from Teams...
teravor 16 hours ago [-]
zram can create a very good buffer for that sort of thing
mkesper 15 hours ago [-]
Better use zswap, as zram and swap together can lead to priority inversion. https://chrisdown.name/2026/03/24/zswap-vs-zram-when-to-use-... (found via lwn.net)
teravor 12 hours ago [-]
it depends on what you want to do. in my case I only want disk swap to be used for hibernation. I calibrated the system to make do with the very generous zram compression ratio of 3 and if it doesn't work out a userspace OOM killer will fix it. zswap will be polluting your SSD all the time.
nailer 15 hours ago [-]
Try changing the Linux scheduler. And yes most desktop OSs are garbage and won’t let you use the fucking keyboard when under load.
1 days ago [-]
nullsanity 19 hours ago [-]
[dead]
adrian_b 20 hours ago [-]
I stopped using swap almost a quarter of century ago, and since then I have not seen a PC with Linux freezing because of full RAM.

Before the recent increase in RAM prices, it was not difficult to have a generous amount of RAM in a PC, that would make very unlikely the out-of-memory situations.

When OOM really happened, it was much better to become aware of this immediately, and reduce the number of concurrent threads for a running job, or whatever caused that, instead of having reduced performance or even freezing.

Avamander 13 hours ago [-]
It depends on the memory conditions you end up in an OOM with. In some cases Linux starts to just trash swap and never kills anything because it thinks it can free a few pages at a sufficient tempo. This is where turning off swap helps by just forcing the OOM killer to act sooner. On other devices it can make things worse. In the end it's still all terribly handled by Linux.
chaps 20 hours ago [-]
Mannnnn.... I've done similar and have NOT had the same experience. The problems I've had are usually because I'm loading stuff in a weird disk-memory-cpu trifecta and they all really want to push the remaining 30GB stuff into a database. Then it's off to ctrl-alt-f5 to wait for gnome to crash so I can auth in and kill the ravaging process.
debugnik 20 hours ago [-]
My PC doesn't have swap and it freezes for about 20 s when I run out of memory until the OOM killer finishes its job, usually by killing Code or more rarely Firefox. I'll take this over the machine swapping so slowly that I need to hard reset anyway, but I'd appreciate it if the OS could stay more responsive when it happens.
jeffbee 20 hours ago [-]
Unfortunately Linux makes it difficult to fully get away from swapping because any file-backed page is eligible to be evicted, and even if you have "disabled swap" the kernel will cheerfully page-out your program, even if it needs to be immediately paged in again to continue. The only way to stop it from doing so is to remap all executable mappings into anonymous memory, a thing which is possible but which the loader and linker do not make easy.
cmckn 19 hours ago [-]
This type of thrashing was the most common OOM issue I saw on my servers, the system would effectively deadlock until I pulled the plug. In my setup this seemed to be caused by slow-ish disks, and using a small amount of zram made things more CPU-bound / less IO-bound. I haven’t seen the problem since, the OOM killer does what I expect.
frollogaston 14 hours ago [-]
Tbh hadn't heard about zram in Linux until now, I'll try it
frollogaston 14 hours ago [-]
I ran into this last night and learned about it. At 3am.
hypfer 1 days ago [-]
I'll be the one to ask the obvious question:

What does this mean for compute workloads? Specifically, LLM inference.

Does it mean anything at all, or is this purely a games-thing?

skew-aberration 1 days ago [-]
I doubt it makes much of a difference, and you can always manually manage what data lives in the GPU when if you 100% have to overcommit. Games have a much larger and more diverse set of objects in the VRAM, and their usage is less predictable, so manual scheduling of the memory is infeasible typically.
zozbot234 1 days ago [-]
If you have model layers/experts that reside in CPU RAM, it's generally better to do that part of inference on the CPU than pay the cost of shipping them over to the GPU. LLM inference is generally bottlenecked by data-movement, not compute. There may be a limited exception for prefill or perhaps decode of very wide batches, where shuffling the data around may be justified.
d3Xt3r 1 days ago [-]
Gosh, 7.2 literally just dropped with a bunch of awesome of performance/gaming related improvements (large folios, cache-aware scheduling, improved MGLRU reclaiming, Fair GPU Scheduler etc)... and I already can't wait for 7.3 to come out.

Meanwhile in the Windows world, users hate updates... Like I genuinely can't think of a single instance that made users exclaim, "oh boy I just can't wait for the next Patch Tuesday!".

zekrioca 1 days ago [-]
[1] Linux 7.2 Reverts DRM Scheduler Change After Serious GPU Regressions: https://www.linuxjournal.com/content/linux-72-reverts-drm-sc...
d3Xt3r 1 days ago [-]
Ah, didn't know that was reverted. Cheers for the link.
vablings 20 hours ago [-]
Fedora users got burned. My friend had strange artificing after updating so rolled back to 7.1
wetpaws 23 hours ago [-]
[dead]
alt227 1 days ago [-]
I personally am very excited for the upcoming Windows 11 update which will allow users to move the taskbar to any edge of their screen.
vladvasiliu 23 hours ago [-]
I don't use windows too often, but I remember I was happy with an update a year or two ago which allows changing the volume by scrolling on the tray icon.

Now, of course, it still doesn't work with a touchpad, but baby steps, right?

plingbang 16 hours ago [-]
This feature has been was available on GNOME since forever. I'm still waiting for Microsoft to steal another nice thing: MRU (Most Recently Used) keyboard layout switching. If you have two often used keyboard layouts A and B, and less used layouts C, D, E, then pressing the switch shortcut once will switch between A and B without the need to cycle through C, D, E.
dbmnt 8 hours ago [-]
OMG I didn't know about this. It works! Hover over the speaker icon and adjust with the mouse wheel.
HugoTea 24 hours ago [-]
Ah it'll be just like 2015 again
pletnes 23 hours ago [-]
Wasn’t this in win 95?
alt227 23 hours ago [-]
Yep and it will be glorious.

I cant wait for the number one gripe of all my users to finally be catered for.

goodmythical 11 hours ago [-]
Wait, when did they take that away?

I haven't touched MS in this decade, but I swear that used to be a thing at least through 7...

vrighter 21 hours ago [-]
such innovation. very wow
alt227 21 hours ago [-]
Nobody said anything about innovation, the discussion was about whether people look forward to windows updates or not.
hbn 21 hours ago [-]
I don't know if reverting features and then users being glad when they implement them again years later is great proof that people "like" Windows updates as a general statement
vrighter 5 hours ago [-]
People aren't glad for the update. They are only glad to get a feature back that Microsoft was trying to gaslight them into believing they never wanted in the first place.
Zardoz84 18 hours ago [-]
Something that they removed in Windows 11 because yes.
DonHopkins 21 hours ago [-]
Not to start a flame war, but people who move their taskbar to the left edge of the screen are extremely sinister and should not be trusted, because they probably use tabs instead of spaces, and vi instead of emacs. Putting your taskbar on the right edge is fine though, as is using spaces and emacs. Putting the taskbar on the top or bottom just means you're gay, not that there's anything wrong with that. ;)

Tabs on the other hand (and of the other type) should be able to move freely between all edges of all windows.

https://news.ycombinator.com/item?id=39432170

timpera 1 days ago [-]
I might be in the minority here, but some of the latest Windows updates that dropped in the Insider channel are really cool, and I'm excited to see those coming to main.
dainank 1 days ago [-]
Do you have a link for a list of these changes. I am curious.
timpera 1 days ago [-]
Sure. The Insider blog tends to be pretty up-to-date: https://blogs.windows.com/windows-insider/

They seem to be focused on performance improvements because of the MacBook Neo pressure and RAM crisis, but right now, I'm mostly excited for the right-click menu and taskbar improvements. You can already do this with third-party software, but it's not the best experience unfortunately.

chongli 1 days ago [-]
Are they finally going to fix the issue of having introduced a second right click menu that forces me to click “show more options” literally every single time I want to do anything?
noir_lord 1 days ago [-]
Run (as Administrator) in a terminal

  reg.exe add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve
Should restore the old right click menu (it did last time I used it at any rate).

So much of windows 11 configuration is removing things you never asked for and putting things back.

Source: https://learn.microsoft.com/en-us/answers/questions/2287432/...

chongli 24 hours ago [-]
Sadly I’m in a locked down corporate environment, so I can’t edit the registry. IT even closed my ticket when I asked for them to make the edit on my behalf.

I don’t use Windows on any personal machines, so there’s no way for this to benefit me. I hope it helps others who are frustrated by this though!

criddell 23 hours ago [-]
You can use shift-right click to show the second context menu.
dbmnt 8 hours ago [-]
I hate what corporate IT has become. Hate.
alt227 23 hours ago [-]
Lifesaver thankyou :)
aeyes 22 hours ago [-]
Yes, they made it customizable. Here is a video showing the new options: https://www.youtube.com/watch?v=zX_WsBnuLf8
chongli 14 hours ago [-]
So that means I can finally put my 3rd party context commands into the main menu instead of having to always show more to see the legacy one?
compass_copium 23 hours ago [-]
What, you don't find it charming that they shoehorned in the old right click menu without even changing its appearance to match the rest of Windows 11? It really shows how much thought Microsoft is putting into Windows now.
23 hours ago [-]
TonyStr 22 hours ago [-]
I'm not so annoyed by it except that I liked the old design (smaller text) better. What puzzles me more is why it takes >1000ms to open a simple right click menu? And even after it opening, it often has to "Load" some options? In what world does it take over a second to open a simple popup on modern hardware?
mrec 23 hours ago [-]
The best thing about Win10 reaching EOL is not being at the mercy of Windows Update any more. It was by far the biggest risk to having a functioning system.
sunaookami 22 hours ago [-]
Running an unsupported OS is even more risky, especially with the excessive number of security updates needed while AI finds RCE after RCE.
frollogaston 18 hours ago [-]
They're bluffing that Win10 is "unsupported"
mrec 21 hours ago [-]
Eh, pretty much all my network exposure is via Firefox, which is actively supported.
dieortin 20 hours ago [-]
Your network exposure is via the windows network stack first, then Firefox.
mrec 14 hours ago [-]
Most of the CVEs I've seen for that stack are in DNS, and Firefox's DNS-over-HTTPS implementation bypasses the OS DNS almost completely in sensible configurations.
frollogaston 14 hours ago [-]
The entire system is doing DNS queries though, like all that phoning home
bee_rider 20 hours ago [-]
MS should either fix the RCEs in Windows 10 (it is unsupported but the defects were already there when it was still supported, just undiscovered), or they should refund their customers (since they never managed to release a defect-free version).
sunaookami 15 hours ago [-]
These knee-jerk comments are not very interesting to read.
embedding-shape 23 hours ago [-]
Windows is such a horrible OS to use when you work in a small company that isn't big enough to have IT to shield you from all the horrible stuff, like in a small studio. Normally I work in Linux, sometimes need to boot Windows just to do some export or something, then goal is to boot into Linux again ASAP. But time and time again fucking Windows forces me to prepping updates when shutting down for next boot, with literally no way around it, even weird terminal incantations can't stop this, nor changes in the registry, it just refuses to shut down without prepping to apply updates on the next boot.

Which means next time I have something to do on Windows that in reality takes ~30 seconds once I'm in, it'll instead take 15 minutes because Windows decides that my time is worth nothing to them.

Add in that I use Windows maybe once a month or something, and every single experience with using Windows for me is this fucked up process of time wasting.

aruggirello 20 hours ago [-]
This sounds like the perfect use case for a simple, straightforward VM. Dual booting is dangerous, time consuming, and makes it inconvenient to share clipboard, stuff... why don't you use a Windows VM instead? You can freeze a VM (saving state) rather than restarting it. Windows won't bat an eye since it's not being shut down or suspended. No longer unexpected 15 minutes pauses - restart it when you have time to spare, and keep working in your host Linux OS while the Windows VM does its shenanigans.
embedding-shape 18 hours ago [-]
Sometimes it's for Ableton, sometimes for Unreal Engine stuff, or other stuff that technically you could run in a VM (or even Proton) but it works iffy enough that dual booting ends up simpler, except for these annoying updates.
frollogaston 18 hours ago [-]
Seriously my spare PC became so much less annoying overnight. It used to not only auto-reboot but also add some fresh non-dismissed nags with every update. Now it's just the nag to install Win11, which, I'd rather eat my entire PC.
fireant 6 hours ago [-]
You can disable the win11 update nagging inside local group policy editor.
mrec 15 hours ago [-]
Oh god that "OOBE" horror. I almost got locked out when it demanded a Microsoft Account login, which I never use for anything. I'd only just grudgingly acquired a portable telephone at that point; without it, I'd have had severe difficulty getting at my mementos.
frollogaston 14 hours ago [-]
You can (could?) install Win10 with no MS account by disconnecting it from the internet. But that was the only way. And you can't disconnect it halfway through the install, it has to be disconnected at boot.

I don't even mind making an MS account, I have one, just don't want Windows using that account and thus constantly freaking out about stuff like "you haven't enabled 3-factor auth." For all I know could also lock me out one day like they did with Minecraft.

toredash 1 days ago [-]
Didn't we eagerly await on updates in the good old days of Windows?
a012 1 days ago [-]
The only Windows update that made me “eagerly await” is the Windows XP SP2.
toredash 1 days ago [-]
And what an update it was.

I still remember how Windows ME looked at first, the feeling of something better. That didn't last long

alt227 1 days ago [-]
Being able to preview media files directly in the preview pane of explorer was mind blowing to me. This feature alone made me love ME, let alone the interface customisation it allowed.
frollogaston 18 hours ago [-]
My Mac ran XP SP2 in Boot Camp for an insanely long time. Best version of Windows that will ever exist.
patrickmcnamara 1 days ago [-]
Windows 7 was pretty neat.
d3Xt3r 1 days ago [-]
Fair point, the old school service packs and hotfix rollups were cool. But I think that sort of enthusiasm towards updates ended with XP, at least it did for me, because I switched to Linux permanently after Windows 7 came out.
noir_lord 1 days ago [-]
XP was indeed when I stopped caring about Windows updates, SP2 was a huge deal - after that they where either "eh" or actively things I didn't want.

To be honest I think the reason I stopped care was more that I started using Linux as an OS in the 90's and over time more and more of my computing life was on Linux (except gaming) so by 2004 (or a little earlier) Windows was just for games.

aruggirello 20 hours ago [-]
We did, and there was some cool stuff coming out of MS now and then. I remember when the first Power Toys came out - there's nothing really magic in current ones though.
christophilus 1 days ago [-]
I never did. I did wait eagerly for new .NET releases, though.
PunchyHamster 1 days ago [-]
....No. And those were not good days, unless your definition is fun is reinstalling OS
alt227 1 days ago [-]
Back when updates were add on packs like Plus! they were very exciting

https://en.wikipedia.org/wiki/Microsoft_Plus!

frollogaston 14 hours ago [-]
Hm, Microsoft Plus! actually looks cool. Way better than Google Plus.
anonymars 21 hours ago [-]
The days when updates used to add things instead of taking them away!
Prunkton 24 hours ago [-]
Phoronix.com is my go to place for good news. It always gives me a sense of progress and makes me feel humble since so many smart people share their work
amlib 22 hours ago [-]
just... never delve into their forums.
Abishek_Muthian 24 hours ago [-]
Any improvements with fractional scaling? Can anyone please link to any material reg the work being done for improving fractional scaling in Linux; it would be great if it could match the rendering quality of macOS.
noisem4ker 22 hours ago [-]
Fractional scaling is now supported by major toolkits and compositors.

https://wayland.app/protocols/fractional-scale-v1

Also, I wouldn't hold the rendering quality of macOS as a high standard at all, since all it does is render at a multiple and then downsample, wasting energy and introducing blurriness.

Abishek_Muthian 22 hours ago [-]
Perhaps it's subjective, I have multiple portable displays including a e-paper monitor and I find that for low resolutions the HiDPI in the macOS produces more legible text in those monitors.
d3Xt3r 23 hours ago [-]
What's your setup like? I'm on AMD+Wayland+KDE, no complaints with fractional scaling on my ASUS ProArt PX13 (255 PPI screen).
Abishek_Muthian 21 hours ago [-]
In my laptop 200% fractional scaling of the built-in QHD+ OLED display on KDE Plasma is great, but when I connect my portable 1080p displays or e-paper monitor (UXGA) the fractional scaling of it is not as good as when compared to when the same monitors are used with macOS (M4) in HiDPI mode under lower resolutions.

As the other comment says, I suspect it to do with GPU as the built-in displays are usually driven by intel and external displays are always driven by my Nvidia 4090.

But surprisingly, when I drive my e-paper monitor using original Jetson Nano (Ubuntu 20.04 ESM / Nvidia Maxwell); the fractional scaling is quite good perhaps even better than macOS.

lvales 18 hours ago [-]
200% isn't fractional scaling, as far as I understand it. Are you using Xorg by any chance? This would explain the issue.
Abishek_Muthian 7 hours ago [-]
That explains, yeah 200% would be just integer scaling. I'm on Wayland only.
vladvasiliu 23 hours ago [-]
IME it works fine on Intel iGPUs, too. I even use multiple ratios with no issue (constant 125% on the laptop, 100% on an external screen and 200% on a different screen at work).

Contrary to Windows, this also works well when hotplugging screens. Menus don't end up a blurry mess, and apps seem to work fine. On Windows, even some 1st-party apps are borked (task manager comes to mind).

eklavya 21 hours ago [-]
KDE has absolutely no issues with it.

Gnome >= 47 is fine, you will need to do:

`gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer', 'xwayland-native-scaling']" ` That stops being necessary as some point around 49/50 I think.

TiredOfLife 24 hours ago [-]
I use arch based linux. This year updates have broken video decoding twice. Font rendering once (still not fixed without manually deleting files.). And broken the whole system due to there not being a mechanism that makes sure all QT libraries upate at the same time once or twice. That is all one system.

Meanwhile 4 separate windows pcs have not had problems with updates for at least 6 years

d3Xt3r 23 hours ago [-]
It's not fair comparing Arch and Windows as they are two very different types of OSes. Arch is bleeding edge and it is completely normal and expected to be prone to breakages. It's not meant for the average PC user, it's meant for experienced users who're comfortable with troubleshooting technical issues, reporting bugs, and know and are happy to downgrade packages/rollback to previous snapshots etc. On the upside, Arch also gets fixes before anyone else.

If you want a stable Linux experience though, pick something like Fedora, or even better, pick an immutable distro like Aurora or Bazzite, if you really, really care about stability.

frollogaston 14 hours ago [-]
Do you mean Arch is getting more bleeding edge kernel versions? I don't see what else that's Arch-specific would cause those issues.
0x457 13 hours ago [-]
Arch is rolling release distro. That story would be different even if it was rolling release linux vs fixed release linux.

That said, even some fixed release linux distros break things almost every release. That's because Windows updates is just windows base + kernel + drivers, while most linux updates are everything all at once with no distinction between base system and user applications. Plus windows and macOS present certain things more or less as a blackbox to user - I never had broken DE and keyboard layout switcher during windows update, while every ubuntu update used to break everything for me.

d3Xt3r 13 hours ago [-]
It's not just the kernel, it's also mesa, KDE, pretty much everything really.
bavell 22 hours ago [-]
I use Arch exclusively and haven't had any of the issues you describe.

That said, I do occasionally deal with quirks due to the rolling distro nature of Arch. The benefits far outweigh the occasional upgrade pain IMO though.

marky1991 20 hours ago [-]
How would you detect broken video decoding or font rendering? I don't know what those are. I don't think i've had any issues this year (Maybe i had do do some pacman-wrangling once this year, but i'm slow to update, so that was probably my fault...)), that I noticed anyway, but maybe everything's broken and i just can't tell.
compass_copium 23 hours ago [-]
That's an arch issue, not a Linux issue.
flaunf221 22 hours ago [-]
> Like I genuinely can't think of a single instance that made users exclaim, "oh boy I just can't wait for the next Patch Tuesday!"

Majority of Windows users are not programming enthusiasts and just don't care.

OS works. Programs continue to work. Good. Keep it that way.

izacus 17 hours ago [-]
I mean, Windows has managed to fix a lot of gaming/GPU stuff like this lately as well. They properly support HDR, VRR and even VRR with bornderless mode on older games - all of which has been very buggy and broken on Linux for a long time. Not to mention actually working eGPU support - trying to use DaVinci on Linux with eGPU still ends up with "Not enough GPU" errors and constant crashes.

This goes especially when used with more powerful GPUs from nVidia - so perhaps arrogance here isn't warranted?

23 hours ago [-]
fleroviumna 23 hours ago [-]
[dead]
exceptione 1 days ago [-]
Great article! I share the same hunch as the author does; when allocating memory ultimately the application itself is in the best position to inform the kernel about the desired stickiness to VRAM. The best a kernel can do is guessing.

As a side note, it strikes me how much we owe to young trans people for low level performance engineering.

zahlman 4 hours ago [-]
Can someone please explain to me why it is apparently off-topic to point out that someone is bringing up irrelevant issues of gender identity, but not off-topic to do so in the first place?
eru 1 days ago [-]
They'll get old soon enough.
MengerSponge 21 hours ago [-]
[flagged]
SV_BubbleTime 18 hours ago [-]
Where polymarket at?
rvz 1 days ago [-]
Of course. These are the people that the industry needs who understands proper performance-level engineering.

The commits they authored in [0] match and all of what they have mentioned in the article and this is how you know the author knows exactly what they are talking about and have explained it well.

Puts all the vibe-coders, and the so-called "AI Engineers" to shame. I know that if I ask about the basic system design of amdgpu and drm (direct rendering manager) infrastructure in Linux, a small handful will be able to explain it without using AI or googling.

[0] https://gitlab.freedesktop.org/pixelcluster/kernel/-/commits...

sfn42 21 hours ago [-]
I imagine "we" "owe" a lot more to young men or just men in general for the same, but I guess there's no virtue signaling points to be harvested from making that observation.
exceptione 21 hours ago [-]
It seems my praise was hurting you. Let me praise some people from an unrelated project: we owe a lot to the greybeards keeping Scribus alive. And you are right, we owe a lot to all kinds of people.

To quote myself from another comment: «I am inclined to rather point out remarkable things than unremarkable things. There seems to be relatively many trans people in this niche.» That's all. I didn't know this required a trigger warning.

  > virtue signaling points
I didn't know about them but you do. Can I sell them to you?
subsistence234 18 hours ago [-]
does niche coding cause men to transition? does autism cause men to become niche coders and transition? does porn addiction cause autistic male niche coders to transition? does niche coding cause autism, and that combined with porn addiction cause a gender crisis? nobody knows. this would be extremely interesting research.
notourproblem 7 hours ago [-]
[flagged]
zahlman 18 hours ago [-]
[flagged]
exceptione 16 hours ago [-]

  > you intend to provoke 
Indeed, I made a small friendly side note to provoke you. Sir/madam, I sincerely think your reasoning is a bit off here, but if you feel you have been done wrong by me, please inform the admins. For the rest, please go back on topic.
zahlman 4 hours ago [-]
Has it occurred to you how this line of argument would sound if the original comment had been about a socially-deemed "privileged" group instead?

Do you understand that the nature of the group is actually completely irrelevant to my criticism?

Do you see why you would be perceived as being the one who went off topic in the first place?

weird-eye-issue 1 days ago [-]
> As a side note, it strikes me how much we owe to young trans people for low level performance engineering.

wtf?

exceptione 1 days ago [-]
Just an observation.
weird-eye-issue 23 hours ago [-]
Would you have made that observation and pointed it out if they were not trans?
exceptione 23 hours ago [-]
I am inclined to rather point out remarkable things than unremarkable things. There seems to be relatively many trans people in this niche.

If I see a soil that is unusually rich in iron, I would be more inclined to point that out. If I come across a piece of soil that is as average as the 98% of the surrounding lands I wouldn't be less likely to point out "hey look, this soil is unremarkable average."

Also, it was just an aside from me. It is unclear what your problem is exactly, and I am also not sure if a tech forum could provide counsel for that.

weird-eye-issue 13 hours ago [-]
Man that's such a terrible analogy. In your analogy of course you wouldn't point out the normal soil because it didn't do anything remarkable. But in this case people did do something remarkable (unrelated to their attributes) but it feels like you only pointed out certain attributes about them because they were trans. In fact your analogy is a great illustration of one of the critiques that a lot of people have with the DEI movement because you are saying that you would point out the soil simply for having specific attributes rather than what it actually achieves.

> It is unclear what your problem is exactly, and I am also not sure if a tech forum could provide counsel for that.

So now you are making this personal and trying to say that I have some sort of problem? That's very interesting and I think you might be projecting here a little bit

nickjj 1 days ago [-]
This post focuses on performance, but what about crashing due to apps seeing no RAM available to allocate once VRAM is filled up?

I remember having this problem when I used an NVIDIA 750 Ti with 2 GB of memory. Just opening a few Firefox or Ghostty terminals (both are GPU accelerated) would result in those apps crashing or not being able to render their contents. Sometimes the compositor would crash or become unstable too (kwin, niri, etc.). I had to reboot every few hours. Complete system instability.

This problem only happened with Wayland, when I switched to X windows these problems went away.

Since then I switched to an AMD RX 480 (8 GB) GPU and never had an issue here with Wayland, if GPU memory gets full, system memory gets seamlessly used instead. It felt like with the NVIDIA card, it never allocated back to system memory if no VRAM was available. This was only a problem on Linux since that same NVIDIA card was fine in Windows for 10+ years with zero issues related to instability around VRAM allocation.

Tons of people reported the same issue on Linux on NVIDIA's forums for years.

I wrote a lot more details and recorded demo videos around 9 months ago here https://nickjanetakis.com/blog/gpu-memory-allocation-bugs-wi..., but since then a lot of these things have been resolved from switching over to AMD.

flaburgan 1 days ago [-]
Your last sentence sums it all: AMD is the only serious option on Linux. Not perfect, but far better than Nvidia, thanks to their open drivers that anyone (and especially Valve) can improve.
zahlman 18 hours ago [-]
This seems like a big problem for AI as long as Nvidia is so deeply financially involved the way they are.
pbhjpbhj 24 hours ago [-]
It's got to be an edge case for Wayland to be used with a 2GB VRAM card? Targeting recent cards and letting people using older hardware install x-windows, or whatever, seems sensible.

You say (in your blog post) "Linux" didn't work well so you reverted to "Windows", but as is so often the case you buried the distro/version info. You don't seem to have been using Win11 (later you mention Win7 & Win10Pro) ... So it's cutting edge software didn't work on my 2014 system, but older software did. The Linux/Windows aspects aren't particularly relevant AFAICT.

Nvidia refused for many years to properly support Linux, whilst AMD have supported it. So no surprise if a Nvidia card didn't work well/stably but an AMD one did.

nickjj 20 hours ago [-]
> You say (in your blog post) "Linux" didn't work well so you reverted to "Windows", but as is so often the case you buried the distro/version info.

Not sure what you mean. The post directly mentions I'm using Arch and was using the official drivers from NVIDIA (the latest at the time). I also didn't switch back to Windows. Although now the experience is much better with an AMD card. Totally worth the switch.

As for 2 GB on Wayland, I think it affects other cards too, but a low GB card feels it more. If you have 8-16 GB of VRAM you might not ever notice it's a problem since you have enough of a buffer to open up many more things.

zahlman 18 hours ago [-]
> It's got to be an edge case for Wayland to be used with a 2GB VRAM card?

I had thought that one of the biggest "selling" points of Linux is the ability to extend the useful lifetime of older hardware. And if the distros are going to turn away from X11, well.

pbhjpbhj 12 hours ago [-]
Yes, it has been a selling point that Linux can revive old hardware. It still is. But when a whole new desktop rendering system is implemented, just hitting the mainstream in the last year or so (for me on [K]Ubuntu) then I think you should expect backwards support of a 12 year old system to be limited. That's kinda my bugbear, they say (paraphrasing) 'linux didn't work' but they're comparing older Windows systems with newer Linux systems. Yes, ultimately the story was positive for Linux, but there's an inherent bias IMO where Linux is put down if it doesn't do everything better than every version of Windows for every piece of hardware. If you're using the very latest hardware, or older hardware, you're going to have to get your hand dirty choosing a distro or configuring an install (or possibly compiling drivers).

Win11 wouldn't work on 2 year old hardware (no compatible TPM was the complaint, but I worked around it with hacks that MS didn't publicise). I should probably have used that as a chance to move that family member to a friendly Linux distro ...

vlovich123 23 hours ago [-]
I have this problem with an 8gib 2080. Nvidia drivers have bugs with Wayland or Vulkan which is at least partially a memory leak.

Here’s one for example: https://forums.developer.nvidia.com/t/kwin-6-7-x-causes-mass...

Just search KWin Nvidia memory leak or Wayland Nvidia memory leak or kwin wayland Nvidia memory leak. It’s constantly issues and I remain convinced some intermixing of the two + monitors is at fault.

nickjj 20 hours ago [-]
Yep, there's also a 3+ year old multi-response thread here: https://forums.developer.nvidia.com/t/non-existent-shared-vr...
OsrsNeedsf2P 1 days ago [-]
I gave myself 32GB of swap since SSDs are quite fast and the pages sent to disk seem to intelligently be rarely referenced ones. Feels amazing to run 4 VMs and 12 Claude Code instances on my mid tier hardware
nickjj 1 days ago [-]
Swap doesn't help in this case.

It's GPU drivers freaking out when they run out of VRAM, but it might only be specific to NVIDIA cards since AMD seems to handle this better.

But, if it's driver specific that means it could be fixed at the kernel level I suppose, especially since Windows handles it seamlessly?

pbhjpbhj 24 hours ago [-]
Can you explain a little more please. I thought that graphics processing would revert to CPU if the GPU is maxed out and so swap might ultimately help? Is there no general GPU-swap mechanism? If CPU threads are competing for GPU resource does the GPU getting paged-out?

I suppose this could be an historic thing, GPUs can have a type of DMA now, and disk access is much faster too, so paging perhaps makes sense when it didn't before?

nickjj 20 hours ago [-]
The linked post in the original comment at https://nickjanetakis.com/blog/gpu-memory-allocation-bugs-wi... has a lot of details.

AMD's GPU do use system memory seamlessly as a fallback, but NVIDIA's don't, at least not back in January 2026. Hundreds of people reported it in their forums too, or variations of the problem.

0x457 13 hours ago [-]
AMD GPUs use GTT seemlessly under linux. It looks funny in some "top" applications when iGPU that has 512mb allocated to it, uses 8gb of memory: displayed as "uses 8gb out of 0.5gb"
pbhjpbhj 12 hours ago [-]
Thanks, I'll give it a read.
kjuulh 1 days ago [-]
Great article. I find that I learn something every time I read a post about linux kernel work.

I guess an LRU with priority would handle VRAM for games pretty decently without going getting too application specific.

What about VRAM to Disk specifically NVME, would direct to disk be feasible for large workloads, I know it is used for streaming in assets directly via. PCIE, but i wonder how the performance would be on compute workloads running with NVME as a swap for GPU VRAM.

PunchyHamster 1 days ago [-]
> but i wonder how the performance would be on compute workloads running with NVME as a swap for GPU VRAM.

4x as slow in absolute best case, NVMe drives have 4 PCIe lanes usually

archon810 4 hours ago [-]
The Steam Machine should be able to benefit greatly from this, right?
dormento 22 hours ago [-]
A curious thing happens in my Ubuntu 24 system, maybe that's just the normal OoM killer algo but no matter what process is hogging, Firefox is killed. Chrome eating too much memory? Firefox dies. Too many apps open? Firefox dies. Its funny.
zahlman 18 hours ago [-]
... Why would you be running Chrome and Firefox simultaneously?
OkayPhysicist 17 hours ago [-]
I occasionally have several browsers open when doing web-dev work, to make sure everything looks right on all browsers. There was also a period of time where I got into the habit of opening netflix in Chrome, despite being a Firefox ride-or-die, because Firefox didn't support the DRM that Netflix required to stream higher resolution video, but either that changed or I got sick of the juggling.
Lunar5227 1 days ago [-]
Well written and very informative. I am glad we have these enthusiastic people around for Linux kernel development!
cubefox 1 days ago [-]
Enthusiasm seems proportional to the number of exclamation marks (28)! (:
bcjdjsndon 1 days ago [-]
[flagged]
mdp2021 22 hours ago [-]
Idle jokes have no use here.
flaburgan 24 hours ago [-]
As proves the fact that this just got merged. :roll_eyes:
bcjdjsndon 23 hours ago [-]
[flagged]
fizzbuzzbarbazz 24 hours ago [-]
meh.
bsimpson 15 hours ago [-]
I have a Z1 Extreme that has 16GB shared between the CPU and GPU (what AMD calls the APU). I've noticed that mangohud, the SteamOS utility that shows performance diagnostics, often reports RAM + VRAM numbers that exceed 16GB. I've been curious as to why. I presume it has to do with compression or something.
burnte 12 hours ago [-]
I would assume virtual memory.
Beijinger 21 hours ago [-]
You know what I would like to have? An application that sends a kill / kill -9 signal to a specific app, example Chromes, when things go south.
augusto-moura 21 hours ago [-]
Like xkill? [1]

Just be careful where you click

[1]: https://en.wikipedia.org/wiki/Xkill

bluGill 21 hours ago [-]
Last I checked the OOM killer was configurable. However the process of configuring it was so convoluted I doubt anyone has successfully done it.
augusto-moura 21 hours ago [-]
For OOM, there's earlyoom [1] and systemd-oomd [2]. They usually work out of the box

[1]: https://github.com/rfjakob/earlyoom

[2]: https://man.archlinux.org/man/systemd-oomd.8

dessimus 19 hours ago [-]
How is that sufficiently different from the Halting Problem?
zamadatix 12 hours ago [-]
The halting problem asks you to conclusively answer if a arbitrary program will stop running in the future. This asks to stop running a given program when stats seem bad currently. I don't really see what the relation is supposed to be.
zahlman 18 hours ago [-]
The solution doesn't have to be perfect.
skew-aberration 1 days ago [-]
Great writeup, gpuvis looks particularly interesting and glad the kernel is providing tracepoints for performance events.

> Not only does the display hardware like scanned-out images to be in VRAM, it also completely skips past the GPU’s virtual memory architecture and works with physical addresses exclusively.

Well there's your problem. Only so smart your memory management can be when you have to pay the cost of doing it manually. Although presumably this only applies to a small fraction of the VRAM?

NekkoDroid 1 days ago [-]
> Although presumably this only applies to a small fraction of the VRAM?

They did mention they saw 4GiB of eviction for a single 32MiB scan out image.

So while I would call the image allocation small, it seems to cause an avalanche of evictions. Amplified by the fact that each frame has one of these images, though I expect subsequent frames might have a better chance of already fitting into evicted space.

What I don't exactly understand is: doesn't it make sense to always reserve the contiguous physical memory for this case and not allow anything else to be put in it?

jojomodding 1 days ago [-]
Or alternatively, instead of evicting it all, can you move the data around in physical memory while updating the page table, so that you can clear a large enough continuous block of physical memory?
inventor7777 20 hours ago [-]
I see all the comments about how Windows and Linux handle OOM, but I suppose I'll also mention macOS.

On my M4 Max Mac Studio if I try to load too big of an AI model with protections off, the desktop starts glitching back and forth between the past few hundred frames. It looks bad when it happens but CtrlC still works to kill llama.cpp and if you were using LM Studio, SSH also works. Once you kill the offending process, or if macOS does it for you, the desktop comes back immediately.

frollogaston 18 hours ago [-]
Heh, is it cause the integrated graphics is out of memory? Cause it's unified.
inventor7777 10 hours ago [-]
Oh, I never thought of that! That would be kind of funny if true.
LoganDark 20 hours ago [-]
On my M4 Max MacBook Pro, if I run or even load an LLM more than a couple times, even a small one, general desktop performance starts to get really, really bad until a reboot and I don't know why.

Genuinely, everything starts feeling super sluggish, even long after the process has terminated -- cmd+tab gets slow, apps constantly hang for a few seconds at a time, the cursor position starts lagging and videos are slow to pause/play -- and the only way I've found to fix it is to reboot the entire machine. Clearing memory, restarting apps etc. doesn't work.

Don't get me wrong, the performance and QoS system works really well while the model is still in memory, but after a few cycles of loading and unloading, performance just ends up getting bad in general. Doesn't matter if I'm loading it with llama.cpp, MLX, native Metal, if I start using the GPU for machine learning the machine just gets really upset.

This sucks man... macOS is not supposed to need reboots like that, my Intel Mac could run for months on end without slowing down at all and I could push it as hard as I wanted. As far as I can tell, this behavior is new as of either macOS 26 or the 27 beta. Apple really has been betraying their true Unix roots lately.

dawnerd 20 hours ago [-]
Same, I loaded a model that should have fit fine in my available memory and macOS progressively got more broken in the weirdest ways, like my AirPods connecting but being unresponsive and not being able to be configured. I think it started killing internal processes that failed to come back.
radlad 20 hours ago [-]
Oh wow, you might've just explained some symptoms I've run into a few times. Thanks for your comment.
inventor7777 20 hours ago [-]
Wow! That is wild.

I am on 15.7.9 and I have had uptimes in the high 50s with weekly local model usage, I even tried GLM5.2 streaming from SSD and I have not noticed any slowdowns after at all. I guess you are right about 26 and 27. Dang, the more I hear about 26 I am just so glad that I did not update. What version of macOS are you on? 26 or 27? Have you considered doing a custom backup and restoring manually to 15.7?

LoganDark 20 hours ago [-]
Unfortunately I don't have the spare 8 TB. Been unemployed for 6 months, have not gotten a single offer in that time, + memory/storage crisis, etc. Shit's fucked.

I don't think I would downgrade though. I just hope this gets fixed someday... I can deal with the terrible memory bandwidth but I don't like to reboot.

(That said, macOS is so, so much better at reboots than Windows)

inventor7777 19 hours ago [-]
I'm sorry to hear that.

But my GLM5.2 is not 8TB, it is only around 200GB and works pretty well. (0.9tok/sec from a 40Gbps NVMe)

I used https://huggingface.co/anemll/GLM-5.2-sidecar

LoganDark 14 hours ago [-]
Huh? I have 8TB of data I'd have to back up in order to downgrade macOS. You can't downgrade in-place.
inventor7777 10 hours ago [-]
Oh, I'm sorry. When you said "I don't have the spare 8TB" I assumed you were talking about GLM.

Also, it's very rare for people to have the 8TB option on Macs - it's got to be a $1600+ option, huh? So not very common, which is why I assumed it meant something else.

LoganDark 9 hours ago [-]
I got the machine refurbished from Apple, so it was around $1k off. But yeah, my machine is 128GB/8TB.
belthesar 17 hours ago [-]
macOS's OOM manager suspends and pages out processes when it hits a hard OOM event, and then usually (though not always) brings up a window to help you decide what to kill. However, once you do that, you have to then resume those processes that were suspended using that OOM window. If you don't do that (or if the process is terminated for you without the OOM window showing up, then a restart is the simplest solution to restart those processes.
LoganDark 14 hours ago [-]
I never ran out of memory and processes were never suspended. I have 128GB of memory and this happens even when total memory usage stays well under the available capacity.
frollogaston 18 hours ago [-]
But you're on a beta release?
londons_explore 1 days ago [-]
I'm mostly excited for the VRAM savings from apps and games which have loads of unused or super rarely used textures.

Game developers often aren't super careful with this stuff, and there could be literal gigabytes of data which isn't used at all.

FartyMcFarter 1 days ago [-]
I worked on a PC/PS4/Xbox One game once. I wish I remembered more details, but at some point when looking at memory usage I found a 2048x2048 (or something like that) texture for something on a character. This texture was never anywhere near occupying the full screen. It got downsized once I told one of the artists, but I wouldn't be surprised if some games are inadvertently shipping with that kind of waste.
yxhuvud 1 days ago [-]
The release version of City Skylines 2 had enormous issues due to this problem. Some tiny details, like a pile of wood behind a shed, had ridiculous amount of pixels. I do believe that should be pretty much fixed in that title nowadays, however.
asimovDev 24 hours ago [-]
wasn't it rendering every pedestrian's teeth in detail as well? hilarious oversight
stuaxo 23 hours ago [-]
Are there any people out there doing this optimisation post-release for existing games ?
NekkoDroid 14 hours ago [-]
I don't know about that specific optimisation, but I remember Helldivers 2 did drop support for loading from HDDs, which allowed them to deduplicate assets bringing the game down from what I remember like 120GB to somewhere round 30GB.
Prunkton 1 days ago [-]
Such great work! Happens quiet regularly I hit a game just realizing seconds later I haven't shut down my local LLM yet. At least punishment will be less harsh. Lets see, maybe some games in window mode will just work fine.
j16sdiz 22 hours ago [-]
It's VRAM, not vRAM.
fluffybucktsnek 18 hours ago [-]
Out of curiosity, may I ask why?
burnte 12 hours ago [-]
Generally in our IT jargon writing "vRAM" would mean some sort of virtualized RAM thing, while VRAM shows the V is part of the initialism and thus VIDEO RANDOM ACCESS MEMORY. Nothing formal, just informal usage.
pezezin 13 hours ago [-]
I don't know, I guess some rule about the capitalization of acronyms. But I have seen it written as VRAM since the early '90s when it meant dual-ported video RAM. I think this is the first time I see it written as vRAM with a lowercase v.
imfemambocus 1 days ago [-]
This is a nice blog and it makes sense to me now. As a gamer and linux user myself, I've previously had to do tweaks and go-arounds without really understanding what was going on behind the scenes. :)
HelloUsername 1 days ago [-]
Also Apple M3 support
fencer12 18 hours ago [-]
More Linux goodies
23 hours ago [-]
hnc3yfnu6f 22 hours ago [-]
Wish more people understood this
pranav_tech26 1 days ago [-]
[dead]
bansiwebix 24 hours ago [-]
[dead]
pranav_tech26 22 hours ago [-]
[flagged]
Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 11:23:14 GMT+0000 (Coordinated Universal Time) with Vercel.