awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
rfjakob avatar

rfjakob/earlyoom

0
View on GitHub↗
4,131 Stars·203 Forks·C·MIT·4 Aufrufe

Earlyoom

earlyoom is a Linux OOM killer daemon that monitors system memory and terminates processes to prevent system freezes. It acts as a memory resource monitor and process termination manager, tracking available RAM and swap space to ensure the operating system remains responsive.

The project distinguishes itself by selecting termination targets based on the largest resident set size rather than relying solely on kernel OOM scores. It provides granular control through regular expression-based process filtering to protect specific applications and can terminate entire process groups to ensure complete application cleanup.

The system includes a notification framework that sends d-bus alerts when memory reaches critical thresholds and supports custom termination hooks. These hooks allow for the execution of external scripts and binaries before or after a process is killed. It also integrates with the native Linux kernel OOM killer to defer victim selection to the OS when requested.

The daemon extracts process statistics and memory data by parsing the kernel pseudo-filesystem and records operational events via system event logging.

Features

  • Automated Process Termination - Automatically kills memory-hungry processes based on resident set size and user-defined rules to prevent system freezes.
  • OOM Prevention Systems - Monitors memory and terminates processes to prevent system freezes and Out-Of-Memory crashes.
  • Process Termination Managers - Manages the selection and termination of processes based on resident set size and configuration rules.
  • Exemption Rules - Adjusts the likelihood of a process being killed or exempts it based on regular expression matches.
  • Memory Management - Manages system responsiveness by reclaiming memory through the termination of memory-intensive processes.
  • Memory-Based Victim Selection - Identifies the process to terminate based on the largest resident set size rather than kernel OOM scores.
  • Process Targeting by Name - Identifies target processes for termination based on memory usage, user ownership, or name patterns.
  • Procfs Extractions - Extracts real-time system memory and process statistics by parsing the Linux /proc pseudo-filesystem.
  • Resident Set Size Selection - Identifies the best process to terminate by selecting the one with the largest resident set size.
  • Memory-Hogging Process Termination - Kills the largest process by resident set size to reclaim memory and maintain system responsiveness.
  • Out-of-Memory Analysis - Integrates with and manages the behavior of the native Linux kernel OOM killer.
  • Threshold-Driven Script Execution - Automatically triggers process termination sequences when available RAM and swap fall below configured percentage thresholds.
  • Kernel OOM Triggering - Allows the system to defer the selection of a victim process to the native Linux kernel OOM killer.
  • Process Resource Statistics - Extracts real-time process statistics, including parent PIDs and resident set sizes, from the system.
  • System Resource Monitors - Tracks available RAM and swap space in real-time to trigger alerts or corrective process termination.
  • System Memory Monitoring - Parses kernel memory statistics to track available RAM and swap space in real-time.
  • System Memory Monitors - Monitors overall system RAM and swap usage by parsing kernel statistics.
  • Process Memory Monitors - Analyzes per-process resident set size and OOM scores to identify the best candidates for termination.
  • External Script Hooks - Provides architectural hooks to execute external shell scripts before or after a process is terminated.
  • Process Group Signaling - Implements process group signaling to ensure all related processes in a multi-process application are terminated together.
  • Termination Rule Configurations - Provides configuration for memory and swap thresholds to determine which processes to prefer, avoid, or ignore.
  • Process Protection Rules - Excludes specific processes from being killed by matching their names against regular expressions.
  • Regex-Based Filters - Uses regular expressions to protect critical applications or prioritize specific processes for termination.
  • Kernel OOM Triggering - Integrates with the native Linux kernel OOM killer to defer victim selection to the OS.
  • Memory Threshold Alerting - Dispatches system notifications via d-bus when memory usage reaches critical user-defined thresholds.
  • Custom OOM Workflows - Executes custom scripts and notifications as part of a structured workflow before and after process termination.
  • Process Termination Notifications - Sends system notifications or executes custom scripts to alert administrators after a process is killed.

Star-Verlauf

Star-Verlauf für rfjakob/earlyoomStar-Verlauf für rfjakob/earlyoom

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu Earlyoom

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Earlyoom.
  • henrypp/memreductAvatar von henrypp

    henrypp/memreduct

    9,715Auf GitHub ansehen↗

    MemReduct is a Windows memory management tool designed to monitor RAM usage and free up physical memory. It functions as a system cache cleaner that flushes working sets, registry caches, modified file caches, and standby lists to reduce overall memory consumption. The project operates as an automated memory optimizer, utilizing a background service to trigger cleaning routines based on predefined timeouts or resource thresholds. It includes a real-time monitoring dashboard to track system memory and pagefile statistics and provides a command-line interface for executing memory reduction task

    Ccleanerfossmem-reduct
    Auf GitHub ansehen↗9,715
  • pythonprofilers/memory_profilerAvatar von pythonprofilers

    pythonprofilers/memory_profiler

    4,571Auf GitHub ansehen↗

    This project is a diagnostic utility for monitoring and analyzing memory consumption in Python applications. It provides tools for tracking resource usage at the process level and performing detailed, line-by-line analysis to identify memory leaks and performance bottlenecks. The tool distinguishes itself through its ability to aggregate memory metrics across entire process trees, capturing the total resource impact of both parent and child processes. It supports time-series visualization of memory usage over the duration of a script, allowing for the identification of long-term consumption p

    Python
    Auf GitHub ansehen↗4,571
  • hishamhm/htopAvatar von hishamhm

    hishamhm/htop

    5,899Auf GitHub ansehen↗

    htop is a terminal user interface system monitor for Unix systems. It functions as an interactive process viewer and real-time resource visualizer, providing a dashboard to track CPU, memory, and load average metrics. The tool enables the sorting, filtering, and termination of active system processes and threads. It distinguishes itself through a text-mode interface that can render processes in a hierarchical tree structure to visualize parent-child relationships and allows for the assignment of CPU affinity to specific processor cores. The monitoring surface covers CPU utilization, memory a

    Ccconsoleconsole-application
    Auf GitHub ansehen↗5,899
  • crazyguitar/pysheeetAvatar von crazyguitar

    crazyguitar/pysheeet

    8,150Auf GitHub ansehen↗

    pysheeet is a technical reference library providing a curated collection of code snippets and implementation patterns for advanced Python development, system integration, and high-performance computing. It serves as a comprehensive guide for implementing low-level network programming, native C extensions, and asynchronous and concurrent programming. The project provides specialized frameworks for the development and deployment of large language models, including tools for distributed GPU inference and high-performance serving. It also includes detailed patterns for high-performance computing

    Python
    Auf GitHub ansehen↗8,150
Alle 30 Alternativen zu Earlyoom anzeigen→

Häufig gestellte Fragen

Was macht rfjakob/earlyoom?

earlyoom is a Linux OOM killer daemon that monitors system memory and terminates processes to prevent system freezes. It acts as a memory resource monitor and process termination manager, tracking available RAM and swap space to ensure the operating system remains responsive.

Was sind die Hauptfunktionen von rfjakob/earlyoom?

Die Hauptfunktionen von rfjakob/earlyoom sind: Automated Process Termination, OOM Prevention Systems, Process Termination Managers, Exemption Rules, Memory Management, Memory-Based Victim Selection, Process Targeting by Name, Procfs Extractions.

Welche Open-Source-Alternativen gibt es zu rfjakob/earlyoom?

Open-Source-Alternativen zu rfjakob/earlyoom sind unter anderem: henrypp/memreduct — MemReduct is a Windows memory management tool designed to monitor RAM usage and free up physical memory. It functions… pythonprofilers/memory_profiler — This project is a diagnostic utility for monitoring and analyzing memory consumption in Python applications. It… hishamhm/htop — htop is a terminal user interface system monitor for Unix systems. It functions as an interactive process viewer and… crazyguitar/pysheeet — pysheeet is a technical reference library providing a curated collection of code snippets and implementation patterns… google/cadvisor — cAdvisor is a container resource monitoring agent and performance analyzer that collects and exports CPU, memory,… fxpool/fxminerproxy — FXMinerProxy is a Stratum mining proxy and hardware management tool that intercepts and routes traffic between…