Skip to content

3.5 RAM, swap and OOM handling

D3vil0p3r edited this page Oct 22, 2022 · 4 revisions

On traditional GNU/Linux system, especially for graphical workstations, when allocated memory is overcommitted, the overall system's responsiveness may degrade to a nearly unusable state before either triggering the in-kernel OOM-killer or a sufficient amount of memory got free (which is unlikely to happen quickly when the system is unresponsive, as you can hardly close any memory-hungry applications which may continue to allocate more memory). The behaviour also depends on specific setups and conditions, returning to a normal responsive state may take from a few seconds to more than half an hour, which could be a pain to wait in serious scenario like during a conference presentation.

Sometimes a user may prefer OOM daemon to SysRq because with kernel OOM-killer you cannot prioritize the process to (or not) terminate. One of these daemons used in Athena is NoHang, a sophisticated OOM handler written in Python, with optional PSI support, more configurable than earlyoom deamon. Source: https://github.com/hakavlad/nohang