Linux中BI進程異常關閉

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

附件列表


主题: 擴展閱讀
  • 有帮助
  • 没帮助
  • 只是浏览
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

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

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

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙