服務器內存修改
各應用服務器的內存配置方法不盡相同,如下列出了常用服務器的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文件中的相應內存參數設置所需值即可,如下圖:
