Ah maybe. I’m still on RHEL8. Even so, “it hangs a bit and kills a random process” is still shit! What it should do is suspend processes, and show you a GUI saying “you’re running low on memory, here are your running programs and how much they are using” and allow you to choose which processes to kill, or whatever.
That would be far too user friendly for Linux though. I don’t think the kernel/Wayland Devs could really comprehend that tbh. They’ll say something along the lines of “users shouldn’t be doing that”.
show you a GUI saying “you’re running low on memory, here are your running programs and how much they are using”
Good luck with this approach on a server.
If by ‘suspend’ you mean that the process will just halt, then: Which processes? All of them? Good luck displaying a message then. The last one that made a memory request? That might not be the true offender. The highest-consuming process? Same logic applies.
If by ‘suspend’ you mean moving the memory to disk, then a single misbehaving process, may end up eating all of memory and all remaining disk space.
Not in my experience. Mostly it just hard-reboots. Occasionally a random process that is using lots of memory is killed (not necessarily the one you want). That only works about 5% of the time though.
Don’t hard-reboot when memory runs out.
systemd-oomd usually kills the process before that happens tho. My system will hang for a bit but then it figures it out.
Ah maybe. I’m still on RHEL8. Even so, “it hangs a bit and kills a random process” is still shit! What it should do is suspend processes, and show you a GUI saying “you’re running low on memory, here are your running programs and how much they are using” and allow you to choose which processes to kill, or whatever.
That would be far too user friendly for Linux though. I don’t think the kernel/Wayland Devs could really comprehend that tbh. They’ll say something along the lines of “users shouldn’t be doing that”.
Good luck with this approach on a server.
If by ‘suspend’ you mean that the process will just halt, then: Which processes? All of them? Good luck displaying a message then. The last one that made a memory request? That might not be the true offender. The highest-consuming process? Same logic applies.
If by ‘suspend’ you mean moving the memory to disk, then a single misbehaving process, may end up eating all of memory and all remaining disk space.
The process that takes up the memory is killed
Not in my experience. Mostly it just hard-reboots. Occasionally a random process that is using lots of memory is killed (not necessarily the one you want). That only works about 5% of the time though.