反馈已提交

网络繁忙

Linux中BI进程异常关闭

  • 文档创建者:doreen0813
  • 编辑次数:6次
  • 最近更新:Scyalcire 于 2020-10-29
  • 1、问题描述

    在 Linux 中使用 FineBI,系统使用过程中 FineBI 的进程异常关闭,查看 BI 的日志并没有任何的异常信息。

    2、问题原因及解决方案

    2.1 可能原因

    针对上述的现象,问题原因可能为 FineBI 的进程是被系统 Kill 掉的,可去检查 Linux 系统日志/var/log/messages,查看进程被异常关闭的时间点日志。

    若该时间点存在对应 Kill 掉 FineBI 进程的日志,说明 FineBI 进程是被系统 Kill 掉的。

    2.2 解决方案

    Linux 系统 Kill 掉 FineBI 的进程,可能是由于自身的 OOM KILLER 机制造成的,查看自身 Linux 系统的/etc/sysctl.conf文件(内核参数配置),若其中的vm.overcommit_memory=2,即表示系统不允许 overcommit 操作。

    该 OOM KILLER 机制会在 linux 内存紧张的时候,依次 Kill 内存占用较高的进程,并在/var/log/message中进行记录,里面会记录一些如 pid,process name,cpu mask,trace 等信息,通过监控可以发现类似问题。

    针对此类问题,我们可以调整系统的 vm.overcommit_memory 内核参数值,将其设置 0/1,分别表示:

    • 0 – Heuristic overcommit handling. 这是缺省值,它允许 overcommit,但过于明目张胆的 overcommit 会被拒绝,比如 malloc 一次性申请的内存大小就超过了系统总内存。Heuristic 的意思是“试探式的”,内核利用某种算法(对该算法的详细解释请看文末)猜测你的内存申请是否合理,它认为不合理就会拒绝 overcommit。

    • 1 – Always overcommit. 允许 overcommit,对内存申请来者不拒。

    根据需要调整内核参数值,或者增加系统的内存来解决。调整内核参数值后需要输入命令 sysctl -p,使配置文件生效。

    sysctl -p

    详细原理可参考 理解LINUX的MEMORY OVERCOMMIT

    附件列表


    主题: 部署集成
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭