当前位置: 首页 > 软件库 > 管理和监控 > 系统监控 >

Nohang

高度可配置的 Linux 内存守护程序
授权协议 MIT
开发语言 Python SHELL
所属分类 管理和监控、 系统监控
软件类型 开源软件
地区 不详
投 递 者 隆钊
操作系统 Linux
开源组织
适用人群 未知
 软件概览

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+

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

  • Nohang 详细介绍 Nohang 是一个 Linux 守护程序,也是一个高度可配置的 OOM(内存溢出)阻止工具,适用于 Linux 系统,能够有效地防止内存不足的情况。 部分功能特性 具有良好注释的配置文件,配置方面(配置中有 38 个参数) 可以将 SIGKILL 和 SIGTERM 作为发送给 victim 的信号 支持 zram(使用 mem_used_total 作为触发器) 可定制

 相关资料
  • 问题内容: 我正在编写Linux守护程序。我发现了两种方法。 通过调用和设置守护进程。 使用运行程序。 哪个是正确的方法? 问题答案: 来自http://www.steve.org.uk/Reference/Unix/faq_2.html#SEC16 以下是成为守护程序的步骤: 1. fork(),以便父级可以退出,这会将控制权返回给命令行或shell来调用您的程序。需要执行此步骤,以确保新流程不

  • 本文向大家介绍linux下的守护进程,包括了linux下的守护进程的使用技巧和注意事项,需要的朋友参考一下 Linux下的常驻进程的作用不可忽略,但这里面的问题也不能忽略,怎么启动进程,怎么结束进程,怎么在进程挂掉之后重启进程都要设计的合理。下面看一个shell控制的php常驻进程的例子。 不废话,直接捞干货,上代码,通过代码来讲解更容易理解: 只里面有几个要强调的地方: 我用这个shell去调用

  • 问题内容: 在Linux中,我想添加一个无法停止且监视文件系统更改的守护程序。如果检测到任何更改,则应在启动控制台的路径上加上换行符。 我已经准备好更改代码的文件系统了,但是我不知道如何创建守护程序。 我的代码来自这里:http : //www.yolinux.com/TUTORIALS/ForkExecProcesses.html 叉后该怎么办? 问题答案: 在Linux中,我想添加一个无法停止

  • 本文向大家介绍python实现守护进程、守护线程、守护非守护并行,包括了python实现守护进程、守护线程、守护非守护并行的使用技巧和注意事项,需要的朋友参考一下 守护进程 1、守护子进程 主进程创建守护进程 其一:守护进程会在主进程代码执行结束后就终止 其二:守护进程内无法再开启子进程,否则抛出异常:AssertionError: daemonic processes are not allow

  • 问题内容: 因此,我有一个在Linux系统上运行的守护程序,我想要记录其活动:日志。问题是,完成此任务的“最佳”方法是什么? 我的第一个想法是简单地打开一个文件并将其写入。 用这种方式记录日志有天生的错误吗?有没有更好的方法,例如Linux内置的某些框架? 问题答案: Unix长期以来一直使用一种称为syslog的特殊日志记录框架。输入您的外壳 您将获得C接口的帮助。 一些 例子

  • 在Linux中,我想添加一个无法停止的守护进程,它监视文件系统的更改。如果检测到任何更改,它应该写入启动控制台的路径以及换行符。 我已经准备好了更改文件系统的代码,但是我不知道如何创建守护进程。 我的密码是:http://www.yolinux.com/TUTORIALS/ForkExecProcesses.html 叉子用完后怎么办?

  • 本文向大家介绍详解Docker守护进程的配置及日志,包括了详解Docker守护进程的配置及日志的使用技巧和注意事项,需要的朋友参考一下 安装Docker并启动,在Docker所在的服务器上,就一直有一个Docker守护进程dockerd在运行。 默认手工启动Docker守护进程,只需要执行如下命令: 停止上述进程,只需要CTRL+C键盘命令。 1. dockerd的配置文件 如果要使用非默认配置参