Linux中BI进程异常关闭

  • Last update:October 29, 2020
  • 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

    附件列表


    主题: 部署集成
    Previous
    Next
    • Helpful
    • Not helpful
    • Only read

    滑鼠選中內容,快速回饋問題

    滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

    不再提示

    10s後關閉

    Get
    Help
    Online Support
    Professional technical support is provided to quickly help you solve problems.
    Online support is available from 9:00-12:00 and 13:30-17:30 on weekdays.
    Page Feedback
    You can provide suggestions and feedback for the current web page.
    Pre-Sales Consultation
    Business Consultation
    Business: international@fanruan.com
    Support: support@fanruan.com
    Page Feedback
    *Problem Type
    Cannot be empty
    Problem Description
    0/1000
    Cannot be empty

    Submitted successfully

    Network busy