The OOM killer is particularly bad with ZFS since the kernel doesn’t by default (at least on Ubuntu 22.04 and Debian 12 where I use it) see the ZFS as cache and so thinks its out of memory when really ZFS just needs to free up some of its cache, which happens after the OOM killer has already killed my most important VM. So I’m left running swap to avoid the OOM killer going around causing chaos.
Can it not be disabled? I’ve heard so many horror stories about the OOM killer that I’m really not a fan at this point.
And might as well add one of my own.
I needed to do an unpacking of a very large file, which I kept running in the background, but it used a ton of memory and took a ton of time. So to ensure I’m not bored for 30 mins, I opened up the browser. Around 10 mins or so later, I go to check up on the window where the operation is running only to find out the operation… stoppped? So after that, I just started the operation again, closed all other windows and background programs, and checked out stuff on my phone while I waited.
You will always need some sort of oom killer unless you have endless memory (or swap space, which comes with its own problems in the form of grinding your system to an almost halt). Imagine all memory is , then some system critical task (or even the kernel itself) needs memory as well. If the kernel can’t kill a less important process to free memory in such a situation you might just crash your system.
quuxplusone.github.io
Top