Nohang - 高度可配置的 Linux 内存守护程序


MIT
Linux
Python

软件简介

Nohang 是一个 Linux 守护程序,也是一个高度可配置的 OOM(内存溢出)阻止工具,适用于 Linux 系统,能够有效地防止内存不足的情况。

部分功能特性

  • 具有良好注释的配置文件,配置方面(配置中有 38 个参数)

  • 可以将 SIGKILL 和 SIGTERM 作为发送给 victim 的信号

  • 支持 zram(使用 mem_used_total 作为触发器)

  • 可定制的监控强度

  • 桌面通知:用于预防 OOM 和警告内存不足

  • ……

输出示例

MemAvail: 2976 M, 50.6 % | SwapFree: 10758 M, 100.0 %
MemAvail:    0 M,  0.0 % | SwapFree: 10281 M,  95.6 %
MemAvail:    0 M,  0.0 % | SwapFree:  9918 M,  92.2 %
MemAvail:    0 M,  0.0 % | SwapFree:  8659 M,  80.5 %
MemAvail:    0 M,  0.0 % | SwapFree:  7235 M,  67.3 %
MemAvail:   19 M,  0.3 % | SwapFree:  6851 M,  63.7 %
MemAvail:    0 M,  0.0 % | SwapFree:  5780 M,  53.7 %
MemAvail:    0 M,  0.0 % | SwapFree:  5008 M,  46.6 %
MemAvail:    0 M,  0.0 % | SwapFree:  4199 M,  39.0 %
MemAvail:    0 M,  0.0 % | SwapFree:  3502 M,  32.6 %
MemAvail:    0 M,  0.0 % | SwapFree:  2929 M,  27.2 %
MemAvail:    0 M,  0.0 % | SwapFree:  2446 M,  22.7 %
MemAvail:    0 M,  0.0 % | SwapFree:  2093 M,  19.5 %
MemAvail:    0 M,  0.0 % | SwapFree:  1573 M,  14.6 %
MemAvail:    0 M,  0.0 % | SwapFree:  1320 M,  12.3 %
MemAvail:    0 M,  0.0 % | SwapFree:  1117 M,  10.4 %
MemAvail:    0 M,  0.0 % | SwapFree:   943 M,   8.8 %

2018-07-06 Fri 03:04:37
  MemAvailable (0 MiB, 0.0 %) < mem_min_sigterm (588 MiB, 10.0 %)
  SwapFree (943 MiB, 8.8 %) < swap_min_sigterm (1076 MiB, 10.0 %)
  Preventing OOM: trying to send the SIGTERM signal to tail,
  Pid: 14636, Badness: 777, VmRSS: 4446 MiB, VmSwap: 8510 MiB
  Success
MemAvail:  173 M,  2.9 % | SwapFree:  3363 M,  31.3 %
MemAvail: 4700 M, 80.0 % | SwapFree:  8986 M,  83.5 %
MemAvail: 4668 M, 79.4 % | SwapFree:  8997 M,  83.6 %
MemAvail: 4610 M, 78.5 % | SwapFree:  9024 M,  83.9 %

环境要求

  • Linux 3.14+

  • Python 3.4+

注意:该程序尚未发布稳定版本,请谨慎使用。