tomcat内存溢出

产生的原因和表现:

  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:最大栈内存大小

 

原文地址:https://www.cnblogs.com/qiankun-site/p/9542814.html