1. 概述
1.1 版本
| FineDataLink 版本 | 系統維運插件版本 | 功能變更 |
|---|---|---|
| 4.0 | - | - |
4.0.8 | V1.4.5 | 1)「自訂匯出記憶體堆疊」支援選擇匯出內容:堆疊、histo、dump 2)「自訂匯出記憶體堆疊」預設開啟,預設選中全部 |
4.0.20 | V1.4.6 | 1)「當機自助精靈」中的當機原因和解決方案優化 2)「進程自動恢復」功能從「當機自動重啟」功能中拆分獨立出來,支援配置生效時間 3)「當機自動重啟」功能不再和配置dump自動匯出強聯動 4)「自動匯出記憶體堆疊」功能預設開啟 |
1.2 應用場景
FineDataLink 工程部署在伺服器上後,會因為各種原因導致當機。當機後若直接重啟沒有抓取 DUMP 檔案 ,很難定位到真實原因,進而無法快速解決問題和做一些防止再發生的預防措施,造成的時間和精力損失無法估計,對伺服器維運非常不友好。
FineDataLink 提供「當機處理」功能。透過此功能,FineDataLink 工程可以自動生成 DUMP 檔案、同時可重新啟動系統。
發生當機後,透過分析生成的 DUMP 檔案,可以快速定位當機原因,即時處理當機問題和做一些有效的預防措施,為使用者增加一道保險。
注:對於非 Tomcat 容器部署以及設計器自帶的工程,不支援「當機處理」功能。
1.3 功能入口
超管登入 FineDataLink ,點選「管理系統>智慧維運>當機處理」,就可以看到平台端對應的功能模組。如下圖所示:
模組下功能分為當機自助精靈、運作監測、當機處理、記憶體堆疊匯出記錄、伺服器重啟記錄 5 部分。
注:當機處理頁面在平台端開啟時,載入時間較長,請耐心等待。

2. 當機自助精靈
記錄工程的當機時間和當機原因,並提供對應的推薦處理方案。如下圖所示:

常見的當機原因和推薦處理方案如下表所示:
| 當機原因 | 推薦處理方案 |
|---|---|
記憶體上限溢位 | 如果當前系統堆內記憶體配置小於推薦配置時,額外建議使用健康巡檢功能對應用進行診斷,修改堆內記憶體至推薦值。 健康巡檢請參見:健康巡檢 |
| 所用JDK版本存在BUG | 建議取代為1.8.0_181及以上版本的JDK8 |
| 系統存在不合理的記憶體配置 | 使用健康巡檢功能對應用進行診斷,並參照推薦值修改記憶體配置 健康巡檢請參見:健康巡檢 |
| 磁碟空間不足 | 請檢查磁碟空間並清理不必要檔案 磁碟空間清理請參見:磁碟清理 磁碟擴容請參見:磁碟擴容 |
| 記憶體映射檔案數量設定過低 | 使用健康巡檢功能對應用進行診斷,並參照推薦值修改記憶體映射檔案數量配置 健康巡檢請參見:健康巡檢 |
| 當前所用版本存在當機BUG | 建議更新升級至最新的小版本 FDL獨立部署升級請參見:FDL獨立部署升級 |
| 未知原因導致應用當機 | 建議上傳雲端健檢分析日誌或聯絡技術支援進行反饋 雲端健檢分析請參見:雲端健檢分析報表 |
| SSH跳出導致應用跳出 | 透過 SSH 方式啟動應用會導致 SSH 跳出時應用也被跳出 建議使用其他命令行遠端工具如 secureCRT 或配置其他應用伺服器自啟動等方式 |
| 日誌匯出導致執行緒阻擋 | 請調高日誌匯出級別減少日誌匯出或檢查磁碟剩餘空間是否不足 日誌級別請參見:日誌簡介 |
| 系統記憶體釋放時間過長 | 如果使用的堆內記憶體大於等於 64G 時:請將堆內記憶體調整至小於 64G 的數值 如果使用的堆內記憶體小於 64G 時:建議取代使用更高效能的 CPU |
3. 運作檢查
如需使用第四章的當機處理功能,必須確定「運作檢查」的每一項都符合要求。
系統需要滿足一些條件,才能保證當機自動處理工具的正常運作。因此工程啟動後,會先對埠狀態、JDK環境、堆外記憶體、部署情況進行檢查。
檢查有問題則提醒使用者做相應修改或者禁用當機功能,無問題則持續穩定運作。如下圖所示:

「運作檢查」每項對應的檢查內容如下表所示:
注:若檢查結果為優,則提示「此項配置良好,無需調整」。
| 序號 | 檢查項 | 檢查出問題標準 | 修改建議 |
|---|---|---|---|
| 1 | 作業系統 | 當前系統非 Windows/Linux 系統 | 建議使用 Linux 系統以保證當機自動處理工具穩定運作 此狀況下,將不進行下面的四項檢查 |
| 2 | 埠 | 12100埠狀態異常(埠未開啟或被佔用) | 建議開放 12100 埠或設定其他埠以保證系統正常運作 埠設定請參考本文 2.3.5 節 |
| 3 | JDK | 1)工程中有 非 Oracle jre 的 tools.jar,且工程中未配置 JDK(系統配置JDK有問題) 2)工程中無 tools.jar,且工程中未配置 JDK(系統配置JDK有問題) | 建議增加系統 JDK 配置/ tools.jar 設定以保證系統正常運作 JDK 和 tools.jar 設定請參考:Linux 下 Tomcat 伺服器獨立部署 |
| 4 | 堆外記憶體 | 堆外記憶體不足 | 強烈建議物理機總記憶體減去系統所在容器使用記憶體不小於10GB |
| 5 | 部署方式 | 非 Tomcat 容器部署 | 建議使用 Tomcat 容器部署 Tomcat 部署請參考:Tomcat獨立部署FDL |
當監測到作業系統、埠、JDK、堆外記憶體影響功能使用時,會透過「平台訊息」和平台右下角「彈窗訊息」提醒使用者。
點選「處理」即可跳轉到跳轉到「當機處理」平台配置頁面,進而對其進行相應的處理。如下圖所示:
訊息提醒內容為:檢查到部分系統配置缺失或不合理,當機自動處理工具不可用,為保證功能正常運作,建議你即時處理。

4. 當機處理
如需使用 「當機處理」功能,必須確定第三章「運作檢查」的每一項都符合要求。
使用者可以在「當機處理」位置做一些配置設定,可設定的項為:當機自動處理、自動匯出記憶體堆疊、當機自動重啟、當機通知、埠設定。如下圖所示:
以下所有設定修改後需點選「儲存」按鈕才會生效。

4.1 當機自動處理
使用說明:
開啟該按鈕,才支援進行下方功能的配置,否則全部不可用。
此開關預設開啟。
使用前提:
在工作時段(6:00-23:00),當應用主進程關閉 5 分鐘後,當機自動處理也跟隨關閉。
在非工作時段(0:00-6:00,23:00-24:00),應用主進程關閉,當機自動處理不跟隨關閉。
4.2 自動匯出記憶體堆疊
使用說明:
開關開啟後,當發生當機時會自動匯出當機日誌。
支援匯出的當機日誌內容包括:堆疊、histo、dump
匯出位置為:當機節點所在伺服器下%Tomcat%\logs\FineLog\日期資料夾內
注:開啟後自動匯出當機日誌。如果擔心dump匯出時間長影響效能,可只選擇匯出堆疊和histo日誌。
使用前提:
若「當機自動處理」未開啟,此項灰化處理,不能編輯修改。
若「當機自動處理」開啟,此項預設開啟。
4.3 當機自動重啟
使用說明:
開啟後,當高負載導致當機時,會自動重啟工程。
使用前提:
1)開啟「當機自動處理」
若「當機自動處理」未開啟,此項灰化處理,不能編輯修改。
若「當機自動處理」開啟,此項預設關閉。
2)系統情況
開關開啟時,會對當前系統情況做檢查。檢查是否為 Windows 作業系統,是否為 Windows 服務形式。
若系統為 Windows 作業系統且為 Windows 服務形式,彈窗提示:該功能暫不支援當前系統。如下圖所示:
點選確定和關閉按鈕後彈窗關閉,開關不開啟。

若系統為 Windows 作業系統且非Windows 服務形式,彈窗提示:當前系統可能會存在重啟失敗。如下圖所示:
點選確認或關閉按鈕後關閉彈窗,開關開啟。

4.4 進程自動恢復
使用說明:
開啟後,管理者可設定功能生效時間段。在指定時間段內,當應用進程消失時,會自動重啟工程。
使用前提:
1)開啟「當機自動處理」
若「當機自動處理」未開啟,此項灰化處理,不能編輯修改。
若「當機自動處理」開啟,此項預設關閉。
2)系統情況
開關開啟時,會對當前系統情況做檢查。檢查是否為 Windows 作業系統,是否為 Windows 服務形式。
若系統為 Windows 作業系統且為 Windows 服務形式,彈窗提示:該功能暫不支援當前系統。如下圖所示:
點選確定和關閉按鈕後彈窗關閉,開關不開啟。

若系統為 Windows 作業系統且非 Windows 服務形式,彈窗提示:當前系統可能會存在重啟失敗。如下圖所示:
點選確認或關閉按鈕後關閉彈窗,開關開啟。

4.5 當機通知
若「當機自動處理」未開啟,此項灰化處理,不能編輯修改;若「當機自動處理」開啟,此項預設關閉,開啟後,可配置簡訊提醒、平台訊息提醒、信箱提醒,當發生當機時會按配置的通知方式通知到使用者。
4.6 埠設定
使用說明:
支援使用者設定當機處理工具佔用的埠,預設埠為 12100 。
埠號範圍要在 1024 到 65535 之間,否則「當機處理工具」無法啟動,「當機處理」頁面無法開啟。
使用前提:
若「當機自動處理」未開啟,此項灰化處理,不能編輯修改。
若「當機自動處理」開啟,預設埠為 12100 。
輸入新的埠號後,點選「測試」,若新的埠號存在異常,則彈窗提示:埠異常,請重新設定。如下圖所示:

若埠無異常,點選「測試」,則彈窗提示:埠可用,儲存後當機自動處理工具將在新埠重啟。如下圖所示:

5. 記憶體堆疊匯出記錄
記錄自動生成 DUMP 檔案記錄。
包括匯出的匯出內容、開始時間、時長、是否成功、如果失敗,失敗的原因等。如下圖所示:
注:僅讀取最近一個月的當機處理記錄。

6. 伺服器重啟記錄
記錄伺服器重啟的記錄。
包括重啟的開始時間、時長、是否成功、如果失敗,失敗的原因等。如下圖所示:
注:僅讀取最近一個月的當機處理記錄。

