nohang VS oomd

Compare nohang vs oomd and see what are their differences.

nohang

A sophisticated low memory handler for Linux (by hakavlad)

oomd

A userspace out-of-memory killer (by facebookincubator)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
nohang oomd
29 5
997 1,760
- 0.6%
4.3 7.0
3 months ago 4 days ago
Python 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.

nohang

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

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 nohang and oomd you can also consider the following projects:

earlyoom - earlyoom - Early OOM Daemon for Linux

Ananicy - Ananicy - is Another auto nice daemon, with community rules support (Use pull request please)

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

Ananicy Cpp - A full, event-based rewrite of Ananicy made in C++ for better performance.

systemd - The systemd System and Service Manager

prelockd - Lock executables and shared libraries in memory to improve system responsiveness under low-memory conditions

systemd-swap - Script for creating hybrid swap space from zram swaps, swap files and swap partitions.

auto-zram - Automatically configure zram as swap on a machine, using sensible defaults, with the ability to tweak it to your needs.

memavaild - Improve responsiveness during heavy swapping: keep amount of available memory

desktop - Desktop metapackage