Tomcat-out of memory

         實習剛接觸正式項目,調試個接口要開4個服務項目,前面都沒什麼大問題,調試最外層服務接口時(須要4個項目都開起),每次都報錯,剛開始沒注意看錯誤信息,還覺得參數弄錯了,後來一看彷佛是內存不夠。apache

        tomcat默認配置空間有時候不夠支撐數據量較大的狀況(如今一想幾個項目的服務路由跑起來壓力是挺大的,並且路由配置問題有奇怪的地址掛了一直掃描和發心跳)。tomcat

        最簡單的辦法,改下tomcat配置,多分給人家一點空間。eclipse

一、tomcat配置debug

修改tomcat目錄下的配置文件,apache-tomcat-7.*\bin\catalina.bat,調試

在echo Using CATALINA_BASE:   "%CATALINA_BASE%"的上面一行加下面代碼:code

set JAVA_OPTS=-Xms1024m -Xmx4096m -XX:PermSize=128m -XX:MaxPermSize=256m

加入後的樣子:xml

rem ----- Execute The Requested Command ---------------------------------------
set JAVA_OPTS=-Xms1024m -Xmx4096m -XX:PermSize=128m -XX:MaxPermSize=256m
echo Using CATALINA_BASE: "%CATALINA_BASE%"

二、eclipse中直接設置接口

1.點擊eclipse上的debug或者run圖標旁邊的下拉箭頭,分別設置debug和正常跑時的配置ip

2.選擇Run Configurations,內存

3.系統彈出設置tomcat配置頁面,在Argument中末尾添加參數中的VM arguments中追加:

-Xms256M -Xmx512M -XX:PermSize=256m -XX:MaxPermSize=512m

-vmargs:說明後面是VM的參數
-Xms40m:虛擬機佔用系統的最小內存
-Xmx256m:虛擬機佔用系統的最大內存
-XX:PermSize:最小棧內存大小。通常報內存不足時,都是說這個過小,堆空間剩餘小於5%就會警告,建議把這個稍微設大一點,不過要視本身機器內存大小來設置
-XX:MaxPermSize:最大棧內存大小。這個也適當大些
-Xmx512M的5%爲25.6M,理論上要求-Xmx的數值與-XX:MaxPermSize必須大於25.6M

Mark

相關文章
相關標籤/搜索