earlyoom VS oomd

Compare earlyoom vs oomd and see what are their differences.

earlyoom

earlyoom - Early OOM Daemon for Linux (by rfjakob)

oomd

A userspace out-of-memory killer (by facebookincubator)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
earlyoom oomd
60 5
2,705 1,755
- 0.9%
8.6 7.0
7 days ago 16 days ago
C C++
MIT License GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

earlyoom

Posts with mentions or reviews of earlyoom. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-13.

oomd

Posts with mentions or reviews of oomd. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-03-14.
  • Defrag Like It's 1993
    1 project | news.ycombinator.com | 16 Dec 2021
    OOMKiller has a bunch of issues. Its heuristics don't apply well across the wide range of workloads Linux provides (webserver? Database server? build server? desktop client? Gaming machine?), each of which would require its own tuning. (random example: https://lwn.net/Articles/761118/)

    That's why some orgs implemented their own solutions to avoid OOMKiller having to enter the picture, like Facebook's user-space oomd: https://github.com/facebookincubator/oomd

  • Paru is building oomd-git package from AUR everytime I run the update command.
    1 project | /r/archlinux | 24 Oct 2021
    I use paru to install/update the softwares on my laptop. I usually update the system twice per week. But recently I've noticed that oomd-git package was showing in the AUR updates everytime I ran the paru command. So, I checked the upstream URL but the main branch shows no new commits since last month. I have no idea why is this happening and weather it's a paru issue or oomd-git issue.
  • Holy memory usage, Batman!
    2 projects | /r/jellyfin | 14 Mar 2021
    Additionally, you might want to check this: https://github.com/facebookincubator/oomd
  • Systemd 248 RC3: systemd-oomd is now considered fully supported
    3 projects | news.ycombinator.com | 13 Mar 2021
    I think the distinction is that MemoryMax= is just an interface to the cgroupv2 setting, i.e., that rule is implemented inside the kernel and invokes the kernel's OOM killer within a cgroup. The manpage for systemd-oomd says, "systemd-oomd is a system service that uses cgroups-v2 and pressure stall information (PSI) to monitor and take action on processes before an OOM occurs in kernel space."

    It looks like systemd-oomd is related to (based on? from the same people as?) Facebook's oomd https://github.com/facebookincubator/oomd , whose documentation gives a bunch of reasons as to why you would prefer a userspace oomd that takes in PSI data and can be configured to proactively kill misbehaving processes instead of just letting the kernel OOM killer handle it. The major reason is time to recovery: a misbehaving process can cause a system to be so far under pressure that the kernel OOM killer will take a long time to flush things out, but a userspace component can respond in advance with more configurable rules (and more flexibility, since the kernel doesn't believe you're at capacity yet).

  • Arch runs out of memory, then crashes
    3 projects | /r/archlinux | 3 Feb 2021
    oomd - developed by facebook and will be default in Fedora 34, it is part of Systemd 247 but still in experimental stage

What are some alternatives?

When comparing earlyoom and oomd you can also consider the following projects:

nohang - A sophisticated low memory handler for Linux

systemd - The systemd System and Service Manager

le9-patch - [PATCH] mm: Protect the working set under memory pressure to prevent thrashing, avoid high latency and prevent livelock in near-OOM conditions

darling - Darwin/macOS emulation layer for Linux

XMousePasteBlock - Userspace tool to disable middle mouse button paste in Xorg

ZenStates-Linux - Dynamically edit AMD Ryzen processor P-States

latent-diffusion - High-Resolution Image Synthesis with Latent Diffusion Models

linux - Linux kernel source tree

picom - A lightweight compositor for X11