insufficient free space available after evicting expired cache entries-consider increasing the maxim

背景

项目中需要上传学生证照片至服务器中,过了一段时间查看日志才发现,出现了一些小小的问题,主要是缓存不足造成的问题。

事故现场

这里写图片描述

console警告缓存不够。
根据apache官方文档:
http://tomcat.apache.org/tomcat-8.0-doc/config/resources.html
The maximum size of the static resource cache in kilobytes. If not specified, the default value is 10240 (10 megabytes). This value may be changed while the web application is running (e.g. via JMX). If the cache is using more memory than the new limit the cache will attempt to reduce in size over time to meet the new limit. If necessary, cacheObjectMaxSize will be reduced to ensure that it is no larger than cacheMaxSize/20.
静态资源缓存的最大大小,以千字节为单位。如果未指定,则默认值为10240(10兆字节)。在Web应用程序运行时(例如,通过JMX),可能需要更改此值。如果缓存使用的内存大于新的限制,则缓存将尝试缩小规模以适应新的限制。如有必要,cacheObjectMaxSize将被缩小以确保它不大于设置的cacheMaxSize 值的1/ 20。

解决方法

因为系统要加载不少图片,而tomcat8以上对resource采取了cache,而默认的大小是10M. 可能超过了此限制,那么tomcat是启动不起来了。

解决的办法是在context.xml中调大缓存即可,加在</context>前就行。具体如下:

<Resources cachingAllowed="true" cacheMaxSize="1024000" />

这里写图片描述

猜你喜欢

转载自blog.csdn.net/mikeoperfect/article/details/80144424
今日推荐