rfjakob/earlyoom

earlyoom - Early OOM Daemon for Linux

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 11 minutes ago
Type:Server / PlatformCategory(s):Operating Systems & LinuxSystems, Hardware & HPC
Added to GitGenius on September 16th, 2026
Created on January 12th, 2014
Open Issues & Pull Requests: 32 (+0)
GitHub issues: Enabled
Number of forks: 210
Total Stargazers: 4,302 (+0)
Total Subscribers: 31 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 17.2 hours
Mean response time: 20.4 days
90th percentile: 93.4 days
Tracked items: 39

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 17
New in 7 days: 0
Closed in 7 days: 1
Avg open age: 533 days
Stale 30+ days: 16
Stale 90+ days: 15

Recent activity

Opened in 7 days: 0
Closed in 7 days: 1
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (4)
  • bug outside earlyoom (3)
  • question (3)
  • enhancement (1)

Detailed Description

earlyoom is a daemon that prevents out-of-memory conditions on Linux systems by proactively killing processes before the kernel's OOM killer engages.

The problem earlyoom solves is the system hang that occurs when memory becomes critically depleted. The kernel's built-in OOM killer often triggers too late, after the system has already become unresponsive due to memory pressure. earlyoom monitors available memory and swap in real time, and when usage crosses configurable thresholds, it kills selected processes before the system reaches a critical state. This approach allows the system to remain responsive and gives users a chance to save work or gracefully shut down applications.

earlyoom suits systems where responsiveness under memory pressure matters more than squeezing out every last byte of available RAM. It is particularly useful on machines with limited memory, embedded systems, or servers where predictable behavior under stress is important. The tool is lightweight and runs with minimal overhead, making it suitable for resource-constrained environments. Users should choose it if they experience system hangs during high memory usage and want a simple daemon-based solution rather than relying on the kernel's default behavior.

The project shows consistent maintenance with regular bug fixes and incremental improvements to memory monitoring logic. Development activity includes refinements to process selection heuristics for determining which processes to kill, updates to handle edge cases in memory reporting across different kernel versions, and responsiveness to user-reported issues. The maintainer actively incorporates feedback on configuration options and threshold behavior, indicating engagement with the user base on practical deployment concerns.