Tomcat中的Session Persistence功能默认是开启的,就是tomcat重启的时候也能保持重启前的session状态。
工作原理:
1, tomcat停止的时候在 /tomcat-6.0.26/work/Catalina/localhost/_/下面生成session.ser文件。文件里面保存了session信息。
2,tomcat启动的时候,从session.ser中读取信息,然后删除session.ser文件。
由于默认是开启这个功能的,不出意外的话一般是不会去关注他的。
但最近一个服务器在备份文件的时候,发生了磁盘空间不足的错误。
用munin监视工具查看,果然在一个短暂的时候内100%用完。查看系统文件,log啥的没有发现临时大数据文件。
没办法在文件备份的报错的时候用 du命令把文件的大小都写入log里面。这样终于找到了问题所在。
正是这个session.ser造成的,没想到这个文件异常的大。
解决办法1:关闭这个功能
As documented above, every web application by default has standard manager implementation configured,
and it performs session persistence across restarts. To disable this persistence feature,
create a Context configuration file for your web application and add the following element there:
<Manager pathname="" />
参考:点击打开链接
解决办法2:没啥说的,增加足够大的磁盘容量。