oomd
le9-patch
oomd | le9-patch | |
---|---|---|
5 | 18 | |
1,808 | 188 | |
0.4% | - | |
7.8 | 1.8 | |
12 days ago | over 1 year ago | |
C++ | Python | |
GNU General Public License v3.0 only | Creative Commons Zero v1.0 Universal |
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.
oomd
-
Defrag Like It's 1993
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.
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!
Additionally, you might want to check this: https://github.com/facebookincubator/oomd
-
Systemd 248 RC3: systemd-oomd is now considered fully supported
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
oomd - developed by facebook and will be default in Fedora 34, it is part of Systemd 247 but still in experimental stage
le9-patch
- le9-patch prevents system freezes on low-end systems
-
zram: swappiness, vfs_cache_pressure, page-cluster, dirty_ratio and dirty_background_ratio settings for gaming machines with HDD and low RAM?
Also, are you using a stock kernel? Try using this patchset https://github.com/hakavlad/le9-patch and more specifically set this
-
Does Linux’s memory management suck?
This kernel patch work really well: https://github.com/hakavlad/le9-patch/
- le9 / google mglru patch in pop os kernel
-
The case of the programs that were launched with impossible command line options
Oh that’s a known problem. There are many patch sets floating around that fix it by triggering the OOM killer when the system is thrashing: https://github.com/hakavlad/le9-patch
I’ve never ran into this specific problem back when I was daily driving desktop Linux, but I did run into 1000 similar ones that needed bandaid solutions. It’s death of a thousand cuts: https://news.ycombinator.com/item?id=28490753
-
Help me out here, why does Windows 10 handle my low memory situation better than Linux (so far)? How do I fix it?
I actually do use the Zen kernel already. If you are already using the zen kernel , make sure to use the latest one which has le9 patches , imho this patch can Improve user experience in tight memory situations. Check this https://github.com/hakavlad/le9-patch, saw many people praise this , but ymmv. Best of luck
-
Moving Google Toward the Mainline
- Limit the amount of thrashing or protect some pages from being reclaimed. This has been proposed by Google first and several other people since then, but AFAIK it has never been implemented in the mainline kernel.
Regarding the latter solution, there is a patchset called le9-patch[1] that is included in some alternative Linux kernels and it should be relatively safe to use.
[1]: https://github.com/hakavlad/le9-patch
- Is there a way to make EndeavourOS [XCFE] faster in a laptop with 2GB ram?
- I don't understand RAM resource management on Linux
-
nohang: A sophisticated low memory handler for Linux
Patch i was talking about le9-patch. it's only a proof of concept with very rough edges, but consider it isn't written by an experienced kernel developer with deep knowledge of memory subsystem.
What are some alternatives?
earlyoom - earlyoom - Early OOM Daemon for Linux
nohang - A sophisticated low memory handler for Linux
systemd - The systemd System and Service Manager
prelockd - Lock executables and shared libraries in memory to improve system responsiveness under low-memory conditions
ZenStates-Linux - Dynamically edit AMD Ryzen processor P-States
abseil-cpp - Abseil Common Libraries (C++)
darling - Darwin/macOS emulation layer for Linux
sway - i3-compatible Wayland compositor
picom - A lightweight compositor for X11 with animation support
linux - Linux kernel source tree