反饋已提交
網絡繁忙
預覽範本時報錯記憶體上限溢位:java.lang.OutOfMemoryError:Java heap space
Tomcat 後臺提示 Memory is over threshold
報錯:gc overhead
報錯:記憶體上限溢位
FineReport 記憶體佔用過高
想調整設計器預設記憶體
想調整 Tomcat 預設記憶體
設計器用久了響應速度慢,出現卡頓
預覽範本經常出現等待佇列中
伺服器壓力大
這些報錯和現象,往往是由於伺服器的 JVM 不夠用而丟擲的錯誤,JVM 在啟動的時候會自動設定 heap size 的值。
當 heap size 設定偏小,除了報異常資訊外,還會發現執行報表的速度變慢了。
為了避免記憶體上限溢位的問題,使用者應當適當調整伺服器/設計器記憶體大小,並適當啟用磁碟快取功能。
本文將詳細說明如何調整 Tomcat 伺服器記憶體大小、如何調整設計器記憶體大小、如何開啟磁碟快取功能。
本文僅介紹Tomcat型別伺服器記憶體的修改方法。
建議修改的記憶體相關配置項包括:
指定Java堆的最大記憶體大小
它設定堆的上限,當堆大小達到該值時,JVM將停止分配新的記憶體並觸發垃圾回收
建議:
8GB <= Xmx < 32 GB或者
40GB <= Xmx <= 64GB
注:< 8GB 有當機風險,32GB ~ 40GB 會導緻效能問題,> 64GB 效能差
使用者可在 健康巡檢 查看推薦的「堆內記憶體」大小(Xmx 值)
指定Java堆的初始記憶體大小
它設定堆的初始大小,JVM會在啟動時分配該大小的記憶體
建議 Xss 的值不超過 1024
該參數一般無需配置,可查看原始值並自行調小
直接記憶體不受Java堆大小的限制,透過本地記憶體直接分配,而不是在Java堆中分配
建議 2GB,參考值2~4GB
最小2GB,不限制最大值,但需要考慮使用者伺服器記憶體的大小,FineBI 使用的記憶體(BIMax)<= 使用者伺服器記憶體 * 7/8
fineIO讀記憶體
若 Tomcat 是透過 startup.bat、startup.sh 啟動的,參考本章方法修改伺服器記憶體。
1)進入%Tomcat_HOME%\bin目錄。尋找名為setenv.sh的檔案。如果檔案不存在,可以建立一個新的setenv.sh檔案。
注:請確定setenv.sh檔案具有可執行權限。如果沒有可執行權限,可以使用以下命令進行設定:chmod x setenv.sh
2)使用正文編輯器開啟setenv.sh檔案。在檔案最上面新增以下列來設定:
JAVA_OPTS="$JAVA_OPTS -Xms8192M -Xmx8192M -Xmn2048m -Xss1024k"
JAVA_OPTS="$JAVA_OPTS -XX:MaxDirectMemorySize=2g"
JAVA_OPTS="$JAVA_OPTS -Dfineio.read_mem_limit=2"
JAVA_OPTS="$JAVA_OPTS -Dfineio.write_mem_limit=1"
3)儲存並關閉setenv.sh檔案。
4)重啟Tomcat伺服器以使修改生效。
1)進入%Tomcat_HOME%\bin目錄。尋找名為setenv.bat的檔案。如果檔案不存在,可以建立一個新的setenv.bat檔案。
2)使用正文編輯器開啟setenv.bat檔案。在檔案最上面新增以下列來設定:
set JAVA_OPTS=%JAVA_OPTS% -Xms8192M -Xmx8192M -Xss1024k
set JAVA_OPTS=%JAVA_OPTS% -XX:MaxDirectMemorySize=2g
set JAVA_OPTS=%JAVA_OPTS% -Dfineio.read_mem_limit=2
set JAVA_OPTS=%JAVA_OPTS% -Dfineio.write_mem_limit=1
3)儲存並關閉setenv.bat檔案。
若透過服務啟動 Tomcat,即不是透過 startup.bat、startup.sh 啟動 Tomcat 的,參考本章方法解決。
本章以 Win10 Tomcat8 JDK1.8 為例(不同版本可能略有不同請自行處理)。
1)直接雙擊 Tomcat 出現在螢幕右下角的系統託盤,開啟Java選項卡,修改Initial Memory Pool和Maximum Memory Pool即可。
前者為初始記憶體,後者為最大記憶體,最大記憶體盡量不要超過物理記憶體的 80% 。
2)修改後,重啟 Tomcat 設定生效。
1)在登錄編輯程式中,找到HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\Tomcat8\Parameters\Java(路徑可能有一點差別)。
修改 JvmMs(初始化記憶體)和 JvmMx(最大記憶體):
2)重啟Tomcat,設定生效。
管理者登入工程的數據決策系統,選擇「管理系統>智慧維運>負載管理>負載監控」,可以看到實時記憶體情況,如下圖所示:
1)關閉設計器。
2)進入%FR_HOME%\bin目錄,尋找designer.vmoptions檔案。
3)使用正文編輯器開啟designer.vmoptions檔案,修改 Xmx 值。儲存並關閉檔案。
4)重啟設計器生效。
2)進入%FR_HOME%\bin目錄,右擊designer.app,點選「顯示包內容」。
3)開啟Content/vmoptions.txt檔案,修改 Xmx 值。儲存並關閉檔案。
管理者登入設計器的數據決策系統,選擇「管理系統>智慧維運>負載管理>負載監視」,可以看到實時記憶體情況,如下圖所示:
在系統根目錄有個 .FineReport110 資料夾,這個目錄下的所有檔案都是伺服器生成的。
其中有個 ./ehcache_disk_store 檔案,經常佔用非常大的空間,導緻根目錄很容易就滿了。
請參考 指定ehcache快取路徑 文檔修改 ./ehcache_disk_store 存放路徑。
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙