產生的緣由和表現:java
tomcat默認有一個可用內存,通常爲128M,若是項目較大的狀況下就會出現內存溢出的狀況,具體表現爲項目訪問出現無緣由卡頓或者直接沒法進行訪問,後臺會出現錯誤:Java.lang.OutOfMemoryError:unable to create new native thread at java.lang.Thread.start(native method) at org.apache.catalina.loader.Webapploader.notifyContext……linux
如何處理:apache
不一樣的狀況處理方式不一樣,分爲,windows下安裝版本、windows下免安裝版本、linux系統下、eclipse中windows
一、windows下安裝版(未親測,僅供參考):tomcat
直接雙擊tomcat.exeapp
二、windows下免安裝版本eclipse
找到tomcat所在目錄下的bin目錄下的catalina.bat文件,在此文件中增長JAVA_OPTS=-Xms512m -Xmx512m -Xss1024k -XX:PermSize=16m -XX:MaxPermSize=128morm
三、linux下內存溢出server
參照windows下免安裝tomcat設置方式,只不過修改的文件是catalina.sh文件blog
四、eclipse中設置tomcat內存參數
雙擊server下的tomcat,點擊general information下的open launch configuration,打開arguments選項卡,加入以下內容,
-Xms512M -Xmx1024M -XX:PermSize=256m -XX:MaxPermSize=512m
也能夠右鍵run、runConfigurations、arguments下打開加入如上參數
參數的含義:
xms512M:Java虛擬機佔用系統的最小內存爲512M
Xmx1024M:Java虛擬機佔用系統的最大內存爲512M
XX:PermSize:最小的棧內存大小(通常報的內存溢出都是由於此參數太小,能夠適當的加大)
XX:MaxPermSize:最大棧內存大小