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

修改 FineBI 配置參數

1. 概述

FineBI 是一款純 B/S 端的商業智慧分析服務平台;支援透過 Web 應用伺服器將其部署在伺服器上,提供企業雲伺服器。因此對伺服器有一定的配置要求,當伺服器不能滿足 BI 使用時,會出現當機風險。

FineBI 在部署後需要修改使用記憶體和其他參數,確定伺服器穩定運作。

2. BI 使用的物理記憶體分類說明

BI 使用的物理記憶體分為 Heap 記憶體和直接物理記憶體,如下圖所示:

FineBI 使用的物理記憶體 BIMax 要求:BIMax = Xmx + MaxDirectMemorySize + FineIO + Other。為了保障主機穩定性,要求 BIMax <= 使用者伺服器記憶體 * 7/8。具體介紹如下表所示:

參數
Xmx8GB <= Xmx < 32 GB(一定要 < 32GB)或者40GB <= Xmx <= 64GB

注:< 8GB 有當機風險,32GB ~ 40GB 會導致效能問題嚴重,> 64GB 效能差

MaxDirectMemorySize最少為 2 GB,不限制最大值,但需要考慮使用者伺服器記憶體的大小,FineBI 使用的記憶體(BIMax)<= 使用者伺服器記憶體 * 7/8

注:建議參數值為2~4G

FineIO
  • 2020-01-15 之前版本,FineIO 值與 MaxDirectMemorySize 相同

  • 2020-01-15 至 2020-08-04 版本,若配置 -Dfineio.direct_mem_limit 参数,FineIO 值与其相同;若未配置,默认与 MaxDirectMemorySize 相同

  • 2020-08-04 及之後版本,讀記憶體預設為 2G,寫記憶體預設為 1G,快取記憶體預設為 1G(不佔實際記憶體),也就是說,FineIO 預設佔用 3G 堆外記憶體

Othermin(使用者伺服器記憶體/8,6GB)

注1:在配置參數時,請先結束 BI 進程,修改參數儲存後重啓 BI 工程。

注2:強烈建議物理機/雲主機記憶體至少 16GB,物理記憶體太小,會嚴重影響 FineBI 計算效能和系統穩定性。

3. 修改 Xmx 參數

即修改最大堆內記憶體,保證工程效能穩定。

強烈建議手動配置 Xmx 參數,並且推薦記憶體修改在 8GB <= Xmx < 32 GB(一定要 < 32GB)或者40GB <= Xmx <= 64GB

注:< 8GB 有當機風險,32GB ~ 40GB 會導致效能問題嚴重,> 64GB 效能差。

3.1 直接部署修改 Xmx 參數

如果是安裝包直接安裝 FineBI ,可以直接在%FineBI%/bin目錄下的finebi.vmoptions檔案中修改記憶體的大小。

Windows 以及 Linux/Unix 系統均修改該檔案(這裏是以 M 為單位)。

3.1.1 Windows 系統

1)進入 %FineBI%/bin目錄下選擇 finebi.vmoptions ,如下圖所示:

2)該檔案內容為系統預設記憶體大小 4018m,可直接修改數值為自身需要的大小,並增加-XX:PerBytecodeRecompilationCutoff=-1 -XX:PerMethodRecompilationCutoff=-1參數,如下圖所示:

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

注2:增加-XX:PerBytecodeRecompilationCutoff=-1 和 -XX:PerMethodRecompilationCutoff=-1參數是為了避免 JVM 的 Bug,JIT 的 Deoptimization 機制可能會導致運作緩慢。

3)修改後,重啓工程。

3.1.2 Linux 系統

注: JVM 記憶體最小設定為 2048 ,即 2G,否則 FineBI 無法正常運作。

1)進入 %FineBI%/bin目錄下選擇 finebi.vmoptions,編輯該檔案即可。開啟檔案的命令如下:

cd %FineBI%/bin
vi finebi.vmoptions

image.png

2)對該文檔進行編輯,並儲存。-Xmx 值表示的是JVM最大可佔用的記憶體,該值的單位預設是M,可以直接改成G單位的值。如-Xmx8G ,並增加-XX:PerBytecodeRecompilationCutoff=-1 -XX:PerMethodRecompilationCutoff=-1 參數,如下圖所示:

image.png

3)重啓工程,詳情參見:Linux 中啟動 FineBI

4)輸入 ps -ef|grep tomcat查看進程,檢查參數是否配置成功,若如下所示進程資訊中出現參數相關資訊,則表示配置成功:

image.png

3.2 部署在 Tomcat 中修改參數

3.2.1 方法一:修改 catalina 檔案

1)Windows 系統下修改%Tomcat%/bin目錄下 catalina.bat 檔案,增加如下命令

set JAVA_OPTS=%JAVA_OPTS% -Xms4g -Xmx8g
set  JAVA_OPTS=%JAVA_OPTS% -XX:PerBytecodeRecompilationCutoff=-1
set  JAVA_OPTS=%JAVA_OPTS% -XX:PerMethodRecompilationCutoff=-1

注:%JAVA_OPTS% 表示使增加的每一條配置參數都生效,若不使用%JAVA_OPTS%直接增加多條參數,則會因為配置改寫讀取而無法生效。使用者也可將所有配置增加在一條參數中,例如:

set JAVA_OPTS=%JAVA_OPTS% -Xms4g -Xmx8g -XX:PerBytecodeRecompilationCutoff=-1 -XX:PerMethodRecompilationCutoff=-1

修改完成後重啓工程,在%Tomcat%/logs 下查看 catalina.log 日誌,如下圖所示:

image.png

2)Linux/Unix修改 catalina.sh 檔案,新增的命令如下:

JAVA_OPTS="$JAVA_OPTS -Xms4g -Xmx8g -XX:PerBytecodeRecompilationCutoff=-1 -XX:PerMethodRecompilationCutoff=-1"

注:$JAVA_OPTS 表示使增加的每一條配置參數都生效,若不使用$JAVA_OPTS直接增加多條參數,則會因為配置改寫讀取而無法生效。

3)重啓工程。

4)輸入 ps -ef|grep tomcat 查看進程,檢查參數是否配置成功,若如下所示進程資訊中出現參數相關資訊,則表示配置成功:

image.png

3.2.2 方法二:修改 Start 檔案

可直接修改 start.bat (Windows 系統)或 start.sh(Linux/Unix 系統),修改的方法與 3.2.1 節一致。

3.3 部署在 Weblogic 中修改參數

3.3.1 方法一:修改 startWebLogic 檔案

修改 Weblogic 安裝目錄%Weblogic%/domains/使用者工程名/下的 startWebLogic 檔案。

1)Windows 系統修改 startWebLogic.bat 檔案,增加如下命令:

set MEM_ARGS= -Xms4096m–Xmx8192m -XX:PerBytecodeRecompilationCutoff=-1 -XX:PerMethodRecompilationCutoff=-1

2)Linux/Unix 修改 startWebLogic.sh 檔案,增加如下命令:

MEM_ARGS=" -Xms4096m -Xmx8192m -XX:PerBytecodeRecompilationCutoff=-1 -XX:PerMethodRecompilationCutoff=-1"

修改后重启工程,查看进程即可看到配置生效,如下所示:

image.png

3.3.2 方法二:修改 commEnv 檔案

修改%Weblogic%/common/bin目錄下的 commEnv.bat 或者 commEnv.sh 檔案,方法同 3.3.1 節。

3.4 部署在 Websphere 中修改參數

在控制檯中選擇「伺服器>應用過程伺服器>進程定義>java虛擬機進行設定」,選擇 sever1。

點選「java和進程管理>進程定義」,如下圖所示。

點選「java虛擬機」。

設定「JVM參數」,設定完確定並儲存即可。

在「通用 JVM 參數」中增加「-PerMethodRecompilationCutoff=-1」和 「-XX:PerMethodRecompilationCutoff=-1」,如下圖所示:

注1:如果遇到有java.lang.OutOfMemoryError: PermGen space 這種異常拋錯,可以在所有修改記憶體的地方加上一個命令語句:-XX:MaxPermSize=256m來進行限制。

注2:所有調整記憶體的數字都要根據自己的資料量來進行調整。

4. 增加 MaxDirectMemorySize 參數

MaxDirectMemorySize 參數為 NIO 最大堆外記憶體,若不配置會嚴重影響 FineBI 計算效能和系統穩定性,強烈建議手動配置該參數,並且至少為 2GB。

4.1 直接部署修改參數

如果是安裝包直接安裝 FineBI ,可以直接在%FineBI%/bin目錄下的FineBI.vmoptions檔案中修改。Windows 以及Linux/Unix系統均修改該檔案(這裏是以 M 為單位),如下圖所示:

增加參數如下圖所示:

-XX:MaxDirectMemorySize=2g

1596504913975067.png

配置完成後重啓工程。

4.2 部署在 Tomcat 中修改參數

1)配置方式:進入%Tomcat%/bin目錄,找到並編輯配置檔案 catalina,

Windows 修改 catalina.bat 檔案,增加配置:

set JAVA_OPTS=%JAVA_OPTS% -XX:MaxDirectMemorySize=2g

表示 MaxDirectMemorySize = 2GB,如下图所示:

配置完成後重啓工程,在%Tomcat%/logs 下查看 catalina.log 日誌,說明配置生效,如下圖所示:

Linux/Unix 修改 catalina.sh 檔案,增加配置:

JAVA_OPTS="$JAVA_OPTS -XX:MaxDirectMemorySize=2g"

2)配置完成後重啓工程。

3)查看進程,檢查參數是否配置成功,若如下所示進程資訊中出現參數相關資訊,則表示配置成功:

image.png

4.3 部署在 Weblogic 中修改參數

修改 startWebLogic 檔案

修改 Weblogic 安裝目錄%Weblogic%/domains/使用者工程名/下的 startWebLogic 檔案,增加一條配置

4.3.1 Windows 系統

在 3.3.1 節已有的配置參數(startWebLogic.bat 檔案 )set MEM_ARGS= -Xms4096m–Xmx8192m -XX:PerBytecodeRecompilationCutoff=-1 -XX:PerMethodRecompilationCutoff=-1後在增加一條參數:

-XX:MaxDirectMemorySize=2g     #表示 MaxDirectMemorySize = 2GB

配置完成後重啓工程。

4.3.2 Linux 系统

在 3.3.1 節已有的配置參數(startWebLogic.sh 檔案 )MEM_ARGS=" -Xms4096m -Xmx8192m -XX:PerBytecodeRecompilationCutoff=-1 -XX:PerMethodRecompilationCutoff=-1"的引號內增加一條參數:

-XX:MaxDirectMemorySize=2g      #表示 MaxDirectMemorySize = 2GB

注:若已經配置過 Xmx 等參數,可直接在 3.3 節配置參數中增加-XX:MaxDirectMemorySize=2g即可。

如下圖所示:

1598430089327280.png

配置完成後重啓工程。

4.4 部署在 Websphere 中修改參數

4.4.1 方法一:控制檯編輯(推薦)

存取 Websphere 控制檯,進入 JAVA 虛擬機配置介面,同本文 3.3.1 節,在輸入框中新增 JVM 參數:

-MaxDirectMemorySize=2096

如下圖所示:

4.4.2 方法二:修改配置檔案

修改 Websphere 安裝目錄下的配置檔案 server.xml ,在其中新增 JVM 參數:

MaxDirectMemorySize="2096"

如下圖所示:

1598432040392617.png

配置完成後重啓工程。

5. 配置其他 JVM 參數

5.1 headless 模式參數

建議開啓,該參數只需在使用 Linux 下環境修改。

5.1.1 單機本地部署配置參數

1)在%FineBI%/bin目錄下的 FineBI.vmoptions 檔案中增加如下參數即可

-Djava.awt.headless=true

如下圖所示:

1590576346814487.png

2)配置完成後重啓工程。

3)輸入 ps -ef|grep tomcat 查看進程,檢查參數是否配置成功,若如下所示進程資訊中出現參數相關資訊,則表示配置成功:

image.png

5.1.2 部署在 Tomcat 中配置參數

1)配置方式:進入%Tomcat%/bin目錄,找到並編輯配置 catalina.sh 檔案,增加如下參數:

JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"

如下圖所示:

1590576653894604.png

2)配置完成後重啓工程。

3)輸入 ps -ef|grep tomcat 查看進程,檢查參數是否配置成功,若如下所示進程資訊中出現參數相關資訊,則表示配置成功:

image.png

5.1.3  部署在 Weblogic 中配置參數

在 startWebLogic 檔案中增加相應 JVM 參數配置即可。

修改 startWebLogic.sh 檔案,增加-Djava.awt.headless=true 配置,如下所示:

JAVA_OPT="${JAVA_OPT} -Djava.awt.headless=true"

配置完成後重啓工程。

5.1.4  部署在 Websphere 中配置參數

方法一:控制檯編輯(推薦)

存取 Websphere 控制檯,進入 JAVA 虛擬機配置介面,同本文 3.3.1 節,在輸入框中新增 JVM 參數:

-Djava.awt.headless=true  

如下圖所示:

方法二:修改配置檔案

修改 Websphere 安裝目錄下的配置檔案 server.xml ,在其中新增 JVM 參數:

Djava.awt.headless="true"

如下圖所示:

1598433610889933.png

配置完成後重啓工程。

5.2 垃圾收集器

建議僅使用預設 Parallel Scavenge 收集器。

若使用了 CMS(-XX:+UseConcMarkSweepGC) /G1(-XX:+UseG1GC) 收集器,該收集器的 Full GC 是單執行緒的,可能會導致系統長時間無響應,如非必要,建議去掉「 UseConcMarkSweepGC / UseG1GC 」參數,即可使用預設 Parallel Scavenge 收集器。

可以透過以下方法查看當前使用的垃圾收集器:

5.2.1 Windows 系統下查看

win+R 進入cmd,命令如下所示:

java -XX:+PrintCommandLineFlags -version

如下图所示:

5.2.2 Linux 系統下查看

輸入以下命令

java -XX:+PrintCommandLineFlags -version

如下图所示:

image.png

6. Linux 系統中修改 vm.max_map_count 參數

max_map_count 檔案包含限制一個進程可以擁有的 VMA(虛擬記憶體區域)的數量。虛擬記憶體區域是一個連續的虛擬位址空間區域。在進程的生命週期中,每當過程嘗試在記憶體中映射檔案,連結到共享記憶體段,或者分配堆空間的時候,這些區域將被建立。

調優這個值將限制進程可擁有 VMA 的數量。限制一個進程擁有 VMA 的總數可能導致應用過程出錯,因為當進程達到了 VMA 上線但又只能釋放少量的記憶體給其他的核心進程使用時,工件系統會丟擲記憶體不足的錯誤。

建議調整 vm.max_map_count 參數的值為 262144 ,以免 VMA 數量到了預設上限,導致 JVM 進程當機。

6.1 查看當前值

sysctl -a|grep vm.max_map_count

3.png

6.2 修改參數值

6.2.1 臨時修改

sysctl -w vm.max_map_count=262144
sysctl -a|grep vm.max_map_count

6.png

6.2.2 永久修改

編輯 sysctl.conf 檔案,新增 vm.max_map_count=262144 後儲存,使用sysctl -p使參數生效。

vim /etc/sysctl.conf  #編輯sysctl.conf檔案
vm.max_map_count=262144  #新增代碼
sysctl -p  #使參數生效

8.png


附件列表


主題: 部署集成
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 评价文档,奖励 1 ~ 100 随机 F 豆!