2012-06-15 19 views
5

ehcache kullanıyorum 1.2.3. Önbellek boyutu "elementler" cinsinden belirtildiği için, önbelleklerin kapladığı bellek büyük ölçüde değişebilir (ehcache, hazırda bekletme ile birlikte kullanılır ve sorguların, sonuçların değişebileceği boyutunun getirdiği standart sorgu önbelleğini de tutar.). Sorum şu: JVM bellekte azalırsa ne olur? ehcache'nin changelog'undan gelen izlenim, başlangıçta yumuşak başvuruları kullanıyordu, ancak java 1.4 onları agresif bir şekilde temizlediğinden, yumuşak referanslar eninde sonunda düştü. Böylece önbellek çok büyük olursa, OutOfMemoryError? Ehcache'de bunu engellemeye çalışan bir şey yok mu?Ehcache düşük bellek davranışı

cevap

1

Eğer ehcache ile bir OOM oluşturmak istiyorsanız bunu yapabilirsiniz. Boyutlandırma seçeneklerine bir göz attınız, ancak maxEntriesLocalHeap/maxBytesLocalHeap. Bunları kullanarak, önbelleklerin ayrılan bellek miktarından daha fazlasını kullanmasını etkili bir şekilde önleyebilirsiniz.

+0

http://ehcache.org/documentation/configuration/cache-size teşekkür örneğin bak, ben gerçekten EHCache bir son sürümlerinde açıkça bellek tüketimini sınırlayabilir izlenimi vardı. Ama sorum, Ehcache 1.2.3 hakkındaydı, çünkü üzerinde çalıştığım sistemde kullanılan şey bu. Ve yine, şu anda benim izlenimim (bir deney tarafından desteklenmeyen) aslında, eğer kullanılan bellek açısından önbellek çok büyük olursa (kullanılan elemanların sayısından farklı olarak), Ehcache 1.2.3, hafıza tüketimini sınırlandırın. –

İlgili konular