各應用服務器的內存配置方法不盡相同,以下列出了經常使用服務器的JVM參數(-Xms,-Xmx)配置方法。java
JVM參數定義:linux
- Xms: 初始化內存大小web
- Xmx: 可使用的最大內存windows
如下示例工具:報表開發工具FineReport緩存
1. 問題描述tomcat
java應用程序運行過程當中會使用web應用服務器的內存,如執行報表獲取的數據,運算的中間數據等都須要暫存在服務器內存中。服務器
當沒有空內存可用時,就會出現內存溢出錯誤:java.lang.OutOfMemoryError:Java heap space。dom
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。
注:請謹慎修改註冊表。
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,保存便可,以下圖:
1. 問題描述
java應用程序運行過程當中會使用web應用服務器的內存,如執行報表獲取的數據,運算的中間數據等都須要暫存在服務器內存中。
當沒有空內存可用時,就會出現內存溢出錯誤。
2. 解決方案
Websphere服務器內存修改隱藏得比較深,在管理控制檯|服務器|進程定義|Java虛擬機進行設置。此以websphere6爲例說明:
打開管理控制檯|服務器|應用程序服務器選擇服務器,這裏是server1:
點擊java和進程管理|進程定義:
點擊Java虛擬機:
便可設置JVM參數,設置完肯定並保存:
Jboss服務器內存修改
. 問題描述
java應用程序運行過程當中會使用web應用服務器的內存,如執行報表獲取的數據,運算的中間數據等都須要暫存在服務器內存中。
當沒有空內存可用時,就會出現內存溢出錯誤。
2. 解決方案
Jboss服務器內存修改比較簡單,如Jboss4.2,只需將%Jboss_home%\bin\下的run.bat文件中的相應內存參數設置所需值便可,以下圖: