詳解tomcat的內存配置

       最近把實驗室的項目從tomcat5.5升級到tomcat6上,由於出現內存溢出錯誤,最終予以解決。現歸納如下:

       -Xms256m -Xmx256m -XX:PermSize=64M -XX:MaxNewSize=64m -XX:MaxPermSize=256m

       首先對着幾個字段值作出解釋:1、-Xms:是初始化堆內存值;2、-Xmx:是堆內存最大值。這兩個值是tomcat服務器內存分配是動態的最好體現,剛啓動時系統給tomcat分配的內存爲-Xms值,當項目佔用的內存達到初始化內存的一定比例後(百度上說是80%,這點未驗證)纔會將給tomcat分配-Xmx大小的內存,反之亦然當項目佔用的內存降至-Xmx的40%時,系統會釋放部分內存,又將-Xms大小的內存劃分給tomcat服務器。-XX:PermSize和-XX:MaxPermSize是初始化永久保存區,原理同內存是一樣的。至於-XX:MAxNewSize是什麼意思,暫時還不清楚,但看到有要求這個值的大小應該設置爲-Xmx的1/4。看過這篇博文的朋友有知道這個字段值含義的,請留言告訴我。

OK,講述完這段語句的含義,下面講講如何將他們配置到tomcat中,從而修改tomcat的內存。

      從三個方面講述如何修改tomcat的內存。tomcat啓動有三種方式:1、點擊startup.bat(windows系統);2、在myeclipse中啓動;3、配置成window服務啓動。不同的啓動方式配置內存的方法是不一樣的。

當點擊startup.bat啓動是,需要修改catalina.bat文件,打開,找到 echo Using CATALINA_BASE:  "%CATALINA_BASE%" 這段語句,然後在上面配置tomcat內存,如下所示:

set JAVA_OPTS=-Xms256m -Xmx256m -XX:PermSize=64M -XX:MaxNewSize=64m -XX:MaxPermSize=256m

       當在myeclipse中啓動tomcat時,這是需要在myeclipse中配置tomcat內存,首先找到對應服務器的對應JDK,點擊JDK如下圖所示:

                                                                         

這時將上面這段話複製到JDK面板中,即可。

       當把tomcat配置成windows服務室,這時要想修改tomcat內存,方法有兩種:1、修改註冊表:打開註冊表編輯器,按如下路徑尋找

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ApacheSoftware Foundation\Procrun 2.0\Tomcat6\Parameters\Java

點擊“java”,修改右側的option註冊表,將上面代碼複製到option註冊表的末尾,尤其要注意的是:註冊表中的代碼只能換行,不能有空格,所以複製上面這段代碼是要去掉空格。第二種方法,在tomcat的安裝目錄bin文件夾下,有管理員身份運行tomcatw.exe文件,打開Java選項卡,如下圖所示:

                                                                       

這點很類似於修改註冊表。

       三種方法配置完之後,重啓服務器一般都能生效。有時候修改註冊表給我感覺要重啓電腦才能生效。







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章