修改 tomcat 內存


Jetty VM參數中設置:
-Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m

tomcat運行環境中設置:
window
環境 startup.bat第一行
SET CATALINA_OPTS= -Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m

linux
環境在catalina.sh

"if [ $have_tty -eq 1 ]; then"
之后增加
  JAVA_OPTS="-server -Xms256m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m"

1、對於安裝版的TOMCAT

進入TOMCAT的安裝目錄下的bin目錄,雙擊tomcat6w.exe。點擊Java選項卡,可設置初始化內存,最大內存,線程的內存大小。
初始化內存:如果機器的內存足夠大,可以直接將初始化內存設置為512M,如果機器內存較小可適當調小,對於運行了EJB的應用,最好不要低於128M
最大內存:最大內存目前設置為512M.
線程內存大小:目前配置為1024KB,這也是JDK5.0后的默認配置。
對於容器下運行了多個WEB應用時,盡量將相同的JAR包轉移到TOMCATlib下,此外還需要在JAVA OPTIONS加上如下配置:
-XX:PermSize=16m
-XX:MaxPermSize=128m
此配置表示JAVA永久保存區域(即不會被虛擬機回收)初始大小為16M,最大為128M

2、對於解壓版的TOMCAT

如果是WINDOWS操作系統,修改catalina.bat文件;否則修改catalina.sh文件。只需要在文件的頭部加上"set JAVA_OPTS=-Xms512m -Xmx512m -Xss1024k,數值分別對應了初始化的最小內存,最大內存,線程內存大小。如果JDK的版本是5.0之后的,線程內存可以不用設置。

3linux系統下修改方法

/usr/local/apache-tomcat-5.5.23/bin目錄下的catalina.sh
添加:JAVA_OPTS=’-Xms512m -Xmx1024m’
要加“m”說明是MB,否則就是KB了,在啟動tomcat時會報內存不足。
-Xms:初始值
-Xmx:最大值
-Xmn:最小值


對於容器下運行了多個WEB應用時,盡量將相同的JAR包轉移到TOMCATlib下,此外還需要在JAVA OPTS后加上如下配置:
-XX:PermSize=16m -XX:MaxPermSize=128m

 

即為:JAVA_OPTS=’-Xms256m –Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m’
此配置表示JAVA永久保存區域(即不會被虛擬機回收)初始大小為16M,最大為128M

修改內存后,可啟動TOMCAT,輸入http://127.0.0.1:8080,進入Status,會提示輸入登錄的用戶名和密碼,用戶可以在conf/tomcat-user.xml中配置(配置完后需要重啟TOMCAT)

1

<?xmlversion='1.0'encoding='utf-8'?>

2

<tomcat-users>

 

3

<rolerolename="manager"/>

4

<userusername="tomcat"password="s3cret"roles="manager"/>

 

5

</tomcat-users>

登錄后即可看到TOMCAT當前的空閑內存和最大內存。

tomcatException in thread "http-8080-36" java.lang.OutOfMemoryError: PermGen space異常的解決:

PermGen space的全稱是Permanent Generation space,是指內存的永久保存區域,

這塊內存主要是被JVM存放ClassMeta信息的,Class在被Loader時就會被放到PermGen space,
它和存放類實例(Instance)Heap區域不同,GC(Garbage Collection)不會在主程序運行期對
PermGen space進行清理,所以如果你的應用中有很多CLASS的話,就很可能出現PermGen space錯誤,
這種錯誤常見在web服務器對JSP進行pre compile的時候。如果你的WEB APP下都用了大量的第三方jar, 其大小
超過了jvm默認的大小(4M)那么就會產生此錯誤信息了。
解決方法: 手動設置MaxPermSize大小

修改TOMCAT_HOME/bin/catalina.sh
“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:
JAVA_OPTS="-server -XX:PermSize=128m -XX:MaxPermSize=256m”


建議:將相同的第三方jar文件移置到tomcat/shared/lib目錄下,這樣可以達到減少jar 文檔重復占用內存的目的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM