報表效能最佳化方案之多種報表伺服器記憶體修改方法,效能最佳化修改方法
伺服器記憶體修改
各應用伺服器的記憶體配置方法不盡相同,如下列出了常用伺服器的JVM參數(-Xms,-Xmx)配置方法。
JVM參數定義:
- Xms: 初始化記憶體大小
- Xmx: 可以使用的最大記憶體
樣本工具
以下樣本工具:報表開發工具FineReport
Tomcat伺服器記憶體修改
1. 問題描述
java應用程式運行過程中會使用web應用伺服器的記憶體,如執行報表擷取的資料,運算的中間資料等都需要暫存在伺服器記憶體中。
當沒有空記憶體可用時,就會出現記憶體溢出錯誤:java.lang.OutOfMemoryError:Java heap space。
2. 解決方案
為了避免記憶體溢出的問題,我們一方面應適當啟用磁碟緩衝,另一方面可以根據實際情況調整伺服器記憶體大小。
下面說明如何調整伺服器記憶體大小。
· 解壓版通過start.bat啟動tomcat
在windows系統中,找到%Tomcat_Home%/bin/catalina.bat,對這個檔案進行編輯。
找到這樣一行代碼:
1. rem ----- Execute The Requested Command ---------------------------------------
在其下添加
1. set JAVA_OPTS= -Xms256M -Xmx512M
ms代表初始時記憶體大小,mx代表最大,上述代碼意義為初始化時記憶體設定為256m,最大記憶體為512m
對於tomcat伺服器來說,最大記憶體一般不要超過實體記憶體的80%。
linux中修改相同目錄下catalina.sh,修改方式相同。
· 安裝版通過服務啟動tomcat
如果是用tomcat服務啟動,就需要修改註冊表,在HKEY_LOCAL_MACHINE/SOFTWARE/Apache Software Fountdation/Procrun 2.0/Parameters 裡面對應修改Java的JvmMs和JvmMx。
註:請謹慎修改註冊表。
Weblogic伺服器記憶體修改
1. 問題描述
程式運行過程中會使用web應用伺服器的記憶體,如執行報表擷取的資料,運算的中間資料等都需要暫存在伺服器記憶體中。
如果記憶體不足發生了溢出,就會報錯。
2. 解決方案
Weblogic伺服器是通過修改bea\user_projects\domains\對應的工程目錄下的StartWeblogicNaNd檔案,如C:\bea\user_projects\domains\base_domain\ StartWeblogicNaNd,來配置Weblogic伺服器虛擬記憶體的。
2.1 Weblogic8.1中
編輯StartWeblogicNaNd,在set SERVER_NAME上一行增加set MEM_ARGS=-Xms256m -Xmx512m ;並在Classpath中增加;%MEM_ARGS%,儲存即可
2.2 Weblogic10中
在StartWeblogicNaNd檔案中call "%DOMAIN_HOME%\bin\startWebLogicNaNd" %*添加set MEM_ARGS=-Xms256m -Xmx512m,儲存即可,如:
Websphere伺服器記憶體修改
1. 問題描述
java應用程式運行過程中會使用web應用伺服器的記憶體,如執行報表擷取的資料,運算的中間資料等都需要暫存在伺服器記憶體中。
當沒有空記憶體可用時,就會出現記憶體溢出錯誤。
2. 解決方案
Websphere伺服器記憶體修改隱藏得比較深,在管理主控台|伺服器|進程定義|Java虛擬機器進行設定。此以websphere6為例說明:
開啟管理主控台|伺服器|應用程式伺服器選擇伺服器,這裡是server1:
點擊java和進程管理|進程定義:
點擊Java虛擬機器:
即可設定JVM參數,設定完確定並儲存:
Jboss伺服器記憶體修改
. 問題描述
java應用程式運行過程中會使用web應用伺服器的記憶體,如執行報表擷取的資料,運算的中間資料等都需要暫存在伺服器記憶體中。
當沒有空記憶體可用時,就會出現記憶體溢出錯誤。
2. 解決方案
Jboss伺服器記憶體修改比較簡單,如Jboss4.2,只需將%Jboss_home%\bin\下的run.bat檔案中的相應記憶體參數設定所需值即可,如:
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。