反饋已提交

網絡繁忙

當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

B09-12 系統檢查擴展內容

一、概述

  1. 適配版本:報表伺服器版本10.0.17,系統檢查v1.0.5。

  2. 本文將簡單介紹 系統檢 功能的檢查邏輯和檢查項。

  3. 注1:若無法檢查出當前配置,當前配置為空,修改意見為【暫不支援此項】,點擊狀態後面的【詳情】,即可查看具體原因。

  4. 注2:若系統為叢集環境,在【系統檢查】頁面左上角可選擇具體的叢集節點進行檢查。

二、記憶體檢查項

1
記憶體檢查項的檢查邏輯。
  1. 記憶體檢查項的檢查邏輯如下表所示。

序號

檢查項

檢查內容

檢查結果

改進建議

1

單機多進程

檢查報表工程所在的系統中,除報表進程外的其他進程,佔用的記憶體是否大於總物理記憶體的1/8。

若不大於總物理記憶體的1/8,則該項檢查合格,進入第 2 項檢查。

-

若大於總物理記憶體的1/8,則認為該系統為單機多進程系統,系統穩定性較差,存在當機隱患,且無法進行後續的合理推薦,結束檢查流程。

當前系統疑似為多進程,存在當機隱患,建議僅保留報表工程併合理配置相關參數。 建議關閉系統中其他無用進程,僅保留報表工程相關的進程。

2

垃圾回收器

檢查虛擬機垃圾回收器是否為ParallelScavenge。

垃圾回收器型別為ParallelScavenge,則該項檢查合格,進入第 3 項檢查。

-

垃圾回收器型別不是ParallelScavenge,提示修改,並跳越至第 6 項檢查。

建議JVM使用垃圾回收器型別為 ParallelScavenge。 請參考 2.1 節配置垃圾回收器型別。

3

堆內記憶體推薦值

由於存在雲端運維資料中 GC 不夠14天、GC 資料異常等問題,會導致無法計算出準確的系統堆內記憶體推薦值,所以需要判斷是否存在推薦值。

系統存在堆內記憶體推薦值,則該項檢查合格,進入第 4 項檢查。

-

系統存在堆內記憶體推薦值,生成提示,並跳越至第 6 項檢查。

系統運作資料不足,暫時無法進行配置推薦。

4

堆內記憶體

只有在當前堆記憶體不夠用時纔會針對防止記憶體上限溢位的當機進行推薦,所以需要先檢查當前系統的堆內記憶體是否小於系統堆內記憶體推薦值。

若堆內記憶體當前值小於推薦值,則該項檢查合格,進入第 5 項檢查。

-

若堆內記憶體當前值大於推薦值,則跳越至第 6 項檢查。

-

5

物理記憶體-推薦堆記憶體

單機單進程下,整個物理機記憶體=堆記憶體推薦值+堆外NIO所需記憶體+堆外fineIO所需記憶體+預留記憶體,預留記憶體暫時定為 1/4 物理記憶體。

若檢查出【當前物理記憶體-推薦堆記憶體-5G】≥【1/4物理記憶體】,生成提示,並跳越至第 7 項檢查。

推薦當前系統的堆內記憶體增加到系統推薦的堆內記憶體。 請參考 2.2 節配置堆內記憶體。

若檢查出【當前物理記憶體-推薦堆記憶體-5G】<【1/4物理記憶體】,生成提示,且無法進行後續的合理推薦,結束檢查流程。

建議物理記憶體增加至【(推薦的堆內記憶體+5G)4/3*4】以上的值。 請增大物理記憶體。

6

物理記憶體-當前配置堆記憶體

在無堆記憶體推薦值(GC日誌不足、GC日誌不準確、非PS垃圾回收器幾種情況下均無堆記憶體推薦值)、堆記憶體推薦值不大於當前對記憶體設定值時,暫時無法準確判斷出當前系統不發生堆內上限溢位的堆記憶體用量,所以無法對堆記憶體做用量推薦,只能對堆外的記憶體模型進行檢查和配置建議。

若檢查出【當前物理記憶體-當前配置堆記憶體-5G】≥【1/4物理記憶體】,說明當前記憶體配置在配置好規定的堆外記憶體後即可消除堆外記憶體當機風險,則該項檢查合格,進入第 4 項檢查。

-

若檢查出【當前物理記憶體-當前配置堆記憶體-5G】<【1/4物理記憶體】,無法判定是xmx配置過大還是物理記憶體較小,只能生成提示,且無法進行後續的合理推薦,結束檢查流程。

當前系統記憶體配置不合理,存在當機風險,建議檢查後修改相關配置。 請參考 2.2 節調小堆內記憶體,請增大物理記憶體。

7

堆外記憶體

檢查堆外記憶體設定大小是否超過2G。

若當前堆外記憶體未超過2G,則該項檢查合格,進入第 8 項檢查。


若當前堆外記憶體超過了2G/未配置堆外記憶體,則生成提示,並跳越至第 8 項檢查。

建議堆外記憶體(Maxdirectmemory)設定為2G。 請參考 2.3 節修改堆外記憶體。

8

fineIO讀記憶體

檢查fineIO讀記憶體【-Dfineio.read_mem_limit】參數配置大小是否超過2G。

若當前fineIO讀記憶體未超過2G,則該項檢查合格,進入第 9 項檢查。

-

若當前fineIO讀記憶體超過了2G,則生成提示,並跳越至第 9 項檢查。

建議【-Dfineio.read_mem_limit】參數設定為2G。 請參考 2.4 節修改 fineIO讀記憶體。

9

fineIO寫記憶體

檢查fineIO寫記憶體【-Dfineio.write_mem_limit】參數配置大小是否超過1G。

若當前fineIO寫記憶體未超過1G,則該項檢查合格,結束檢查流程。

-

若當前fineIO寫記憶體超過了1G,則生成提示,結束檢查流程。

建議【-Dfineio.write_mem_limit】參數設定為1G。 請參考 2.5 節修改 fineIO寫記憶體。

10

系統當前記憶體

檢查當前物理記憶體-當前配置堆記憶體-5G】→【=1/4物理記憶體。

物理記憶體-當前配置堆記憶體-5G】→【=1/4物理記憶體。

-

物理記憶體-當前配置堆記憶體-5G<1/4物理記憶體。

當前系統記憶體配置不合理,存在當機風險,建議檢查後修改相關配置。

 

2
修改垃圾回收器型別。
  1. 本節以工程部署在 Tomcat 上為例, 介紹設定垃圾收集器為Parallel Scavenge(並行收集器)的方法。如下圖所示。

  2. Windows 系統:開啟%Tomcat%/bin目錄下的catalina.bat檔案進行配置,配置完成後重啓工程即可生效:set JAVA_OPTS= -XX:+UseParallelGC。

  3. Linux:開啟%Tomcat%/bin目錄下的catalina.sh檔案進行配置,配置完成後重啓工程即可生效:JAVA_OPTS="$JAVA_OPTS -XX:+UseParallelGC"。

 

1.png

 

3
修改堆內記憶體。
  1. 堆內記憶體的修改方法,請參見下方表格文檔。

參數介紹

伺服器型別

參考文檔

【-Xmx】 參數:最大堆內記憶體。

【-Xms】 參數:初始化記憶體大小。

注1:Xmx/Xms 與數字之間不要有空格。

注2:建議配置Xms=Xmx,以防止記憶體擴容失敗情況。

Tomcat 伺服器

Tomcat 伺服器記憶體修改

WebLogic 伺服器

WebLogic 伺服器記憶體修改

WebSphere 伺服器

WebSphere 伺服器

JBoss 伺服器

JBoss 伺服器

Resin 伺服器

Resin 伺服器記憶體修改

 

4
修改堆外記憶體。
  1. 堆外記憶體由 【-XX:MaxDirectMemorySize】 這個參數來設定。本文以工程部署在 Tomcat 上為例介紹修改方法。如下圖所示。

  2. Windows:修改%Tomcat%/bin目錄下的 catalina.bat 檔案,增加配置,配置完成後重啓工程:set JAVA_OPTS=%JAVA_OPTS% -XX:MaxDirectMemorySize=2g。

  3. Linux/Unix:修改%Tomcat%/bin目錄下的 catalina.sh 檔案,增加配置,配置完成後重啓工程:JAVA_OPTS="$JAVA_OPTS -XX:MaxDirectMemorySize=2g"。

 

2.png

 

5
修改 fineIO 讀記憶體。
  1. fineIO 讀記憶體由【-Dfineio.read_mem_limit】這個參數來設定。請根據自身工程部署情況選擇修改方法。本節展示 Tomcat 環境下設定 fineIO讀記憶體 的步驟。

  2. 讀記憶體的預設單位為 GB,支援小數,但不支援使用 g、m 等。建議讀記憶體為寫記憶體的2-3倍,快取大小建議與寫記憶體大小一致。

  3. Windows:在%Tomcat%/bin目錄下的catalina.bat檔案中新增配置,配置完成後重啓工程:set JAVA_OPTS=%JAVA_OPTS% -Dfineio.read_mem_limit=2。

  4. Linux:在%Tomcat%/bin目錄下的catalina.sh檔案中新增配置,配置完成後重啓工程:JAVA_OPTS="$JAVA_OPTS -Dfineio.read_mem_limit=2"。

 

3.png

 

6
修改 fineIO 寫記憶體。
  1. fineIO 寫記憶體由【-Dfineio.write_mem_limit】這個參數來設定。請根據自身工程部署情況選擇修改方法。本節展示 Tomcat 環境下設定 fineIO寫記憶體 的步驟。

  2. 寫記憶體的預設單位為 GB,支援小數,但不支援使用 g、m 等。建議讀記憶體為寫記憶體的2-3倍,快取大小建議與寫記憶體大小一致。

  3. Windows:在%Tomcat%/bin目錄下的catalina.bat檔案中新增配置,配置完成後重啓工程:set JAVA_OPTS=%JAVA_OPTS% -Dfineio.write_mem_limit=1。

  4. Linux:在%Tomcat%/bin目錄下的catalina.sh檔案中新增配置,配置完成後重啓工程:JAVA_OPTS="$JAVA_OPTS -Dfineio.write_mem_limit=1"。

 

4.png

 

三、其他檢查項

  1. 檢查結果和改進建議具體如下表所示。

檢查項

當前配置

檢查出問題標準

改進建議

磁碟剩餘空間

顯示工程所在磁碟當前剩餘空間。

工程所在磁碟剩餘空間小於 5GB。

系統所在磁碟剩餘空間建議不小於5G,請及時進行清理。

垃圾回收器型別

顯示當前垃圾回收器型別。

GC 型別不為 ParallelScavenge。

建議 JVM 使用垃圾回收器型別為 ParallelScavenge。 請參考 2.1 節進行修改。

堆內老年代與新生代的比例

顯示當前堆內老年代與新生代大小比例。

堆內老年代與新生代大小比例不為 2。

建議 JVM 老年代與新生代大小比例設定為 2。 請參考 3.1 節進行修改。

棧空間

顯示當前 【-Xss】 的值。

【-Xss】 的值大於 1024。

建議單執行緒使用棧空間不超過 1024 KB。 請參考 3.2 節進行修改。

JDK 版本

顯示當前 JDK 版本。

JDK 版本低於 1.8.101 版本。

建議使用【JDK8】中 1.8.0_181 及以上版本。

finedb

多工程共用。

與其他工程共用 finedb ,如: 1)兩個及以上報表工程共用。 2)兩個及以上 BI 工程共用。 3)報表 BI 整合工程與報表單獨工程共用。 4)報表 BI 整合工程與 BI 單獨工程共用。 5)報表工程與 BI 工程共用。

建議一個 finedb 僅對應一個工程,杜絕多個工程共用一個 finedb。 請參考 配置外接資料庫 文檔遷移 finedb。

finedb

HSQL。

使用內置資料庫。

建議將 finedb 遷移至更穩定的外接資料庫中。 請參考 配置外接資料庫 文檔遷移 finedb。

DisableExplicitGC 參數

已配置。

配置 DisableExplicitGC 參數時提示。

建議取消該 DisableExplicitGC 參數配置。 請參考 第四部分第3節取消參數配置。

headless 模式

未啟用。

未配置 -Djava.awt.headless=true 時提示。

建議配置 -Djava.awt.headless=true 以啟用 headless 模式。 請參考第四部分第4節進行配置。

日誌級別

DEBUG。

當前日誌級別配置為 DEBUG 級別時提示。

建議設定日誌級別為 ERROR。 請參考 平台日誌 第二節第三點設定日誌級別。

 

1
設定堆內老年代與新生代大小比例。
  1. 堆內老年代與新生代大小比例建議為 2(-XX:NewRatio=2,JVM的預設值);NewRatio 大小正常生效需要使用者不限制新生代大小。

  2. 在設定【-Xmx】、【-Xms】參數的位置,新增 NewRatio 的值即可,本節展示 Tomcat 環境下設定 NewRatio 的步驟。

  3. Windows:在%Tomcat%/bin目錄下的catalina.bat檔案中新增配置,配置完成後重啓工程:set JAVA_OPTS= -Xms512M -Xmx1024M -XX:NewRatio=2。

  4. Linux:在%Tomcat%/bin目錄下的catalina.sh檔案中新增配置,配置完成後重啓工程:JAVA_OPTS="$JAVA_OPTS -Xms2048M -Xmx8196M -XX:NewRatio=2"。

 

5.png

 

2
設定單執行緒使用棧空間。
  1. 建議單執行緒使用棧空間不超過1024KB,即 【-Xss】 的值不超過 1024 。

  2. 在設定【-Xmx】、【-Xms】參數的位置,新增 【-Xss】 的值即可,本節展示 Tomcat 環境下設定 【-Xss】 的步驟。

  3. Windows:在%Tomcat%/bin目錄下的catalina.bat檔案中新增配置,配置完成後重啓工程:set JAVA_OPTS= -Xms512M -Xmx1024M 【-Xss】1024K。

  4. Linux 系統:在%Tomcat%/bin目錄下的catalina.sh檔案中新增配置,配置完成後重啓工程:JAVA_OPTS="$JAVA_OPTS -Xms2048M -Xmx8196M 【-Xss】1024K"。

 

6.png

 

3
設定 DisableExplicitGC 參數。
  1. 【-XX】:+DisableExplicitGC參數的作用是禁用 System.gc()。

  2. System.gc() 是一種保護機制,例如堆外記憶體滿時清理它的堆內引用物件,使用者需要根據實際情況選擇是否使用該參數。

  3. 本節展示 Tomcat 環境下設定 DisableExplicitGC 參數的步驟。

  4. Windows:在%Tomcat%/bin目錄下的catalina.bat檔案中新增配置,配置完成後重啓工程:set JAVA_OPTS=%JAVA_OPTS% -XX:+DisableExplicitGC。

  5. Linux:在%Tomcat%/bin目錄下的catalina.sh檔案中新增配置,配置完成後重啓工程:JAVA_OPTS="$JAVA_OPTS -XX:+DisableExplicitGC"。

 

7.png

 

4
修改 headless 模式參數。
  1. headless 模式是系統的一種工作模式,如果系統屬性 java.awt.headless被設定true,那麼headless工具包就會被使用。

  2. 本節展示 Tomcat 環境下啟用 headless 模式的步驟。

  3. Windows:在%Tomcat%/bin目錄下的catalina.bat檔案中新增配置,配置完成後重啓工程:set JAVA_OPTS=%JAVA_OPTS% -Djava.awt.headless=true。

  4. Linux:在%Tomcat%/bin目錄下的catalina.sh檔案中新增配置,配置完成後重啓工程:JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"。

 

8.png


附件列表


主題: 決策平台
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤

文 檔回 饋

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

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

不再提示

10s後關閉