小编Odd*_*ing的帖子

OOM-Killer 的取证分析

Ubuntu 的 Out-Of-Memory Killer 对我的服务器造成了严重破坏,悄悄地暗杀了我的应用程序、sendmail、apache 和其他应用程序。

我已经设法了解了 OOM 杀手是什么,以及它的“坏”规则。虽然我的机器很小,但我的应用程序更小,通常只有一半的物理内存在使用,更不用说交换空间了,所以我很惊讶。我试图找出罪魁祸首,但我不知道如何阅读 OOM-Killer 日志。

任何人都可以指点我如何阅读日志中的数据的教程(什么是vefreegen?),或者帮我解析这些日志?

Apr 20 20:03:27 EL135 kernel: kill_signal(13516.0): selecting to kill, queued 0, seq 1, exc 2326 0 goal 2326 0...
Apr 20 20:03:27 EL135 kernel: kill_signal(13516.0): task ebb0c6f0, thg d33a1b00, sig 1
Apr 20 20:03:27 EL135 kernel: kill_signal(13516.0): selected 1, signalled 1, queued 1, seq 1, exc 2326 0 red 61795 745
Apr 20 20:03:27 EL135 kernel: kill_signal(13516.0): selecting to kill, queued 0, …
Run Code Online (Sandbox Code Playgroud)

linux ubuntu oom forensics

7
推荐指数
1
解决办法
2413
查看次数

在监控中采取两个行动

我的 monit 脚本用于检测进程中断并在规则为时通知我:

  IF DOES NOT EXIST THEN ALERT
Run Code Online (Sandbox Code Playgroud)

我的 monit 脚本用于检测中断并在规则为时自动修复它:

  IF DOES NOT EXIST THEN START
Run Code Online (Sandbox Code Playgroud)

但是,我想要它做的是通知我并修复它

连续两条规则似乎使它忽略了除最后一条之外的所有规则:

  IF DOES NOT EXIST THEN ALERT
  IF DOES NOT EXIST THEN START
  # No alert given.
Run Code Online (Sandbox Code Playgroud)

我可以使用一个自定义脚本来做这两个,并且

  IF DOES NOT EXIST THEN EXEC "my_handwritten_script"
Run Code Online (Sandbox Code Playgroud)

但我试图从一堆手写脚本转向干净的 Monit 配置。

我可以将 Monit 配置为采取两项行动吗?

monitoring monit

4
推荐指数
1
解决办法
1751
查看次数

标签 统计

forensics ×1

linux ×1

monit ×1

monitoring ×1

oom ×1

ubuntu ×1