nohang is a command — line Python utility that enables you to configure the emergency shutdown process consuming the most memory in the system. The utility works in user space and is an alternative for Linux Out-of-Memory Killer (OOM Killer).
OOM Killer (Linux Out-of-Memory Killer) — the kernel component of Linux designed to solve the problem of lack of memory. The mechanism providing protection of the system in critical situation, when the memory on the basis of a special algorithm calculates the process completion which will cause the least harm and frees the memory.
Works nohang in the background (daemon)processing a situation with low memory and preventing the exhaustion of free memory, the intensity of the monitoring is configured in the configuration file (/etc/nohang/nohang.conf). Protection provided complete innocent processes, you can specify the level of available memory at which the produced corrective actions, supports mapping the name of a certain process to exit with the ignore list (specified in configuration) , etc…
nohang may display a notification about low memory and the results of the processes are terminated (notify-send), you can set the level of memory in which displays notifications and the frequency of its output (by default, notifications are disabled). Possible to run arbitrary commands instead of sending a process completion signal, there is a possibility of ignoring the process (with a coefficient specified below). Since the memory at the completion of the CPUs is released immediately, prevented the possibility of mass complete processes log events.
License: MLT (The MIT License)