IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    穷人的supervisor OOM killer

    est发表于 2024-02-27 16:48:00
    love 0

    厂里的docker上跑了个supervisord,用来把挂掉的进程拉起来。最近的问题不是进程挂掉,而是内存泄漏

    跑着跑着内存爆了,然后宿主机OOM随机杀掉一个进程,结果占用内存最大的那个还活着,正常的进程反而gg,该漏的继续漏,然后反复OOM。想看下哪里漏了,--cap-add=SYS_PTRACE 也不给加,OOM策略也不给调,思来想去只能自己做防水补漏了。做起来也简单,supervisor再跑一套bash脚本即可:

    while true; do
      p=`ps --no-headers  -xo rss,pid --sort=-rss | awk '{if($1 > 1000000){ print $2 }}'`
        kill $p 2>/dev/null || echo "everything fine";
      sleep 60;
    done;
    


沪ICP备19023445号-2号
友情链接