← Back to context

Comment by Espressosaurus

1 day 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.

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.

  • macOS is a UNIX as well, and it isn't the only UNIX that manages to do accounting properly.

    • 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.

      4 replies →