產生的原因和表現:
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……
如何處理:
不同的情況處理方式不同,分為,windows下安裝版本、windows下免安裝版本、linux系統下、eclipse中
1、windows下安裝版(未親測,僅供參考):
直接雙擊tomcat.exe
2、windows下免安裝版本
找到tomcat所在目錄下的bin目錄下的catalina.bat文件,在此文件中增加JAVA_OPTS=-Xms512m -Xmx512m -Xss1024k -XX:PermSize=16m -XX:MaxPermSize=128m
3、linux下內存溢出
參照windows下免安裝tomcat設置方式,只不過修改的文件是catalina.sh文件
4、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:最大棧內存大小