Linux中BI进程异常关闭

编辑
文档创建者:doreen0813 (83193 )     浏览次数:193次     编辑次数:3次     最近更新:doreen0813 于 2018-11-22     

目录:

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

附件列表


主题: 专题总结
标签: 暂无标签 编辑/添加标签
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

本文档是否有用? [ 去社区提问 ]