須要耐心啊,太急於求成,但願直接就獲得解決方法了...以致於正確方法都已經出現了,我卻沒有耐心看下去,因此反而又耽誤了很多時間....web
項目加載100+張圖片,還有一個小的MP4,因此console警告緩存不夠apache
org.apache.catalina.webresources.Cache.getResource Unable to add the resource at [/base/1325/WA6144-150x112.jpg] to the cache because there was insufficient free space available after evicting expired cache entries - consider increasing the maximum size of the cache The background cache eviction process was unable to free [10] percent of the cache for Context [/liuda] - consider increasing the maximum size of the cache. After eviction approximately [11,145] KB of data remained in the cache
反正就是緩存不夠了緩存
上面連接是stackoverflow上出現的和我同樣的錯誤,第二個答案成功的解決了這個警告,就是把緩存弄大點。一開始沒耐心看答案,直接把代碼加進server.xml了,正確的應該是加到context.xmlapp
<Resources cachingAllowed="true" cacheMaxSize="100000" />
做者:我比風更自由
來源:CSDN
原文:https://blog.csdn.net/qq_26684469/article/details/52346667
版權聲明:本文爲博主原創文章,轉載請附上博文連接!ide
一個WebSource是在Web應用程序中的文件或目錄。出於性能緣由,Tomcat能夠緩存WebSource。默認狀況下,靜態資源緩存(總共全部資源)的最大值爲 10240千字節(10 MB)。在請求webResource時(例如,在加載靜態圖像時),webResource被加載到緩存中,而後將其稱爲緩存條目。每一個緩存條目都有一個TTL(生存時間),這是容許緩存條目保留在緩存中的時間。當TTL過時時,緩存條目有資格從緩存中刪除。cacheTTL的默認值爲5000毫秒(5秒)。性能
加載webResource時,代碼會計算緩存的新大小。若是計算的大小大於默認的最大大小,則必須刪除一個或多個緩存的條目,不然新大小將超過最大值。所以代碼將計算「targetSize」,這是緩存但願保持的大小(做爲最佳值),默認狀況下爲95%。爲了達到此targetSize,必須從緩存中刪除/逐出條目。spa
所以,當其TTL過時且還沒有達到targetSize時,將刪除緩存條目。.net
在嘗試經過逐出緩存條目來釋放緩存以後日誌
所以,若是在嘗試釋放緩存後,大小仍然超過最大值,它將顯示有關沒法釋放的警告消息:
cache.addFail=Unable to add the resource at [{0}] to the cache for web application [{1}] because there was insufficient free space available after evicting expired cache entries - consider increasing the maximum size of the cache
所以,正如警告信息所述,問題是
insufficient free space available after evicting expired cache entries - consider increasing the maximum size of the cache
若是您的Web應用程序在短期(5秒)內加載了大量未緩存的webResources(大約最大緩存,默認爲10mb),那麼您將收到警告。
所以,若是您使用的Tomcat 8具備與Tomcat 7相同的默認緩存配置,而且您在Tomcat 8中收到警告,那麼Tomcat 7的(和個人)緩存設置在沒有警告的狀況下表現不佳。
有多種解決方案:
經過在Context元素中添加$CATALINA_BASE/conf/context.xml「XXXXX」表明增長的高速緩存大小,以kbytes爲單位。默認值爲10240(10 MB),所以請設置大於此值的大小。
<Resources cacheMaxSize="XXXXX" />
您必須調整以得到最佳設置。請注意,當您忽然增長流量/資源請求時,問題可能會再次出現。