日期:2014-05-17  浏览次数:20794 次

部署在tomcat上的项目,部署没问题,但是运行一段时间后发现tomcat目录下该项目的web.xml文件消失
部署在tomcat上的项目,部署没问题,但是运行一段时间后发现tomcat目录下该项目的web.xml文件消失,后来发现日志文件报的错误如下:
严重: Exception unloading sessions to persistent storage
java.io.FileNotFoundException: C:\Tomcat\work\Catalina\localhost\shopwebservice\SESSIONS.ser (系统资源不足,无法完成请求的服务。)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:489)
at org.apache.catalina.session.StandardManager.unload(StandardManager.java:463)
at org.apache.catalina.session.StandardManager.stop(StandardManager.java:667)
at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4611)
at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:924)
at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1174)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1342)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:303)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
at java.lang.Thread.run(Unknown Source)

------解决方案--------------------
崩溃原因:内存不足导致资源不足,引起Tomcat的session崩溃,
-Xmx1024M -Xms1024M -XX:MaxPermSize=512m 搞大点
------解决方案--------------------
session中存放的东西太多了,内存吃不消了吧
------解决方案--------------------
出现死循环或者查询数据库的结果集过大。