• Tomcat8启动报there was insufficient free space available after evicting expired cache entries


    当用tomcat8启动工程的时候,日志报错

    09-Dec-2016 10:57:49.150 WARNING [localhost-startStop-1] org.apache.catalina.webresources.Cache.getResource Unable to add the resource at [/WEB-INF/classes/struts/PersonnelActio
    n.xml] to the cache because there was insufficient free space available after evicting expired cache entries - consider increasing the maximum size of the cache
    09-Dec-2016 10:57:51.729 SEVERE [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:
     org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:158)
            at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:724)
            at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:700)
            at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
            at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1107)
            at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1841)
            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
            at java.util.concurrent.FutureTask.run(FutureTask.java:266)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
            at java.lang.Thread.run(Thread.java:745)

    原因

    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. 可能超过了此限制。

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

    <Resources cachingAllowed="true" cacheMaxSize="1000000" />
  • 相关阅读:
    mvc页面中,显示自定义时间格式
    时间格式字符串中,大小写字母的解释
    subversion SVN global ignore pattern
    .net项目svn项目管理文件清单
    nopcommerce插件相关
    vs2013执行Add-Migration出现的问题
    jquery为多个元素添加事件
    在JavaScript中创建命名空间的几种写法
    Python 创建XML 的三种方式
    Python 对网页操作的方法, urllib ;requests
  • 原文地址:https://www.cnblogs.com/huangjinyong/p/13730146.html
Copyright © 2020-2023  润新知