Tomcat配置虛擬內存
一、Tomcat啟動參數
JAVA_OPTS參數說明
-server 啟用jdk 的 server 版;
-Xms java虛擬機初始化時的最小內存;
-Xmx java虛擬機可使用的最大內存;
-XX: PermSize 內存永久保留區域
-XX:MaxPermSize 內存最大永久保留區域
服務器參數配置
現公司服務器內存一般都可以加到最大2G ,所以可以采取以下配置:
JAVA_OPTS=’-Xms1024m -Xmx2048m -XX: PermSize=256M -XX:MaxNewSize=256m -XX:MaxPermSize=256m’
配置完成後可重啟Tomcat
二、堆內存設置
A、window設置Tomcat
(1)第一種方法:修改 tomcat/bin/catalina.bat 文件
增加一行 set JAVA_OPTS=-Xms256m -Xmx1024m
也可以set CATALINA_OPTS="-Xmx512m -Xms512m -Xmn64m -Xss2m"
設置CATALINA_OPTS 和 JAVA_OPTS都是一個道理,在啟動tomcat的時候設置參數。
兩者區別是JAVA_OPTS在tomcat停止的時候也會執行這個命令。
(2)第二種方法:環境變量中設置
變量名:JAVA_OPTS
變量值:-Xms512m-Xmx512m
(3)第三種方法:前兩種方法針對的是bin目錄下有catalina.bat的情況(比如直接解壓的Tomcat等),但是有些安裝版的Tomcat下沒有catalina.bat,這個時候可以采用如下方法,當然這個方法也是最通用的方法
打開tomcatHome\bin\tomcat5w.exe,點擊Java選項卡,然後將會發現其中有這麽兩 項:
Initialmemorypool和Maximummemorypool.Initialmemorypool這個就是初始化設置的內存的大小。
Maximummemorypool這個是最大內存的大小設置完了就按確定然後再重啟TOMCAT你就會發現tomcat中jvm可用的內存改變了。
B、Linux 系統修改Tomcat
(1)修改 tomcat/bin/catalina.sh 文件
增加 JAVA_OPTS="-Xms256m -Xmx1024m"
也可以set CATALINA_OPTS="-Xmx512m -Xms512m -Xmn64m -Xss2m"
設置CATALINA_OPTS 和 JAVA_OPTS都是一個道理,在啟動tomcat的時候設置參數。
兩者區別是JAVA_OPTS在tomcat停止的時候也會執行這個命令。
(2)和(3)與上面window配置一樣
三、永久保存區域
PermGen space的全稱是Permanent Generation space,是指內存的永久保存區域。這一部分用於存放Class和Meta的信息,Class在被 Load的時候被放入PermGen space區域,它和和存放Instance的Heap區域不同,GC(Garbage Collection)不會在主程序運行期對PermGen space進行清理,所以如果你的APP會LOAD很多CLASS的話,就很可能出現PermGen space錯誤。
一般是加大-XX:PermSize -XX:MaxPermSize 來解決問題。
-XX:PermSize 永久保存區域初始大小
-XX:PermSize 永久保存區域初始最大值
如 set JAVA_OPTS= -Xms1024m -Xmx1024m -XX:PermSize=128M -XX:PermSize=256M
註意: java -Xmx1024m -Xms1024m -Xmn256m -Xss16m Test (Test是一個class文件)命令來測試的最大堆內存是 -Xmx與 -XX:PermSize的和。
Tomcat配置虛擬內存