产生的缘由和表现: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:最大栈内存大小