zoukankan      html  css  js  c++  java
  • 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" />
  • 相关阅读:
    hdu 1875 畅通project再续(kruskal算法计算最小生成树)
    Http post提交和get提交
    我的软考之路(五)——数据结构与算法(3)之图
    WPF 布局控件 之 DockPanel
    oracle存储结构
    马化腾最想做的事情是人工智能
    Android_Zip解压缩工具
    Unity的 Stats 窗体, Batched、SetPass、Draw Call 等
    尝试 “实验楼”在线教育平台
    POJ 3181 Dollar Dayz 01全然背包问题
  • 原文地址:https://www.cnblogs.com/huangjinyong/p/13730146.html
Copyright © 2011-2022 走看看