1

我将 Ehcache 与 BigMemory Go 一起使用,并带有一个用于 6 个缓存的本地可重新启动持久磁盘存储。每个缓存的缓存配置如下:

<cache name="CacheService"
   maxElementsInMemory="200000"
   eternal="false"
   timeToLiveSeconds="86400"
   statistics="true">
<persistence strategy="localRestartable"/>
<cacheEventListenerFactory class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"/>
</cache>

从分析中我们知道,所有缓存的总内存大小小于 1GB。然而,永久性磁盘存储目前使用了大约 27GB 的磁盘空间。27GB 包含许多大小约为 514MB 的 seg*.frs 文件。似乎这些文件每分钟创建一次,然后前滚,超过 ~60 分钟的文件被删除:

-rw-r--r-- 1 jboss jboss    0 Nov 14 10:29 frs.backup.lck
-rw-r--r-- 1 jboss jboss    0 Nov 10 09:02 FRS.lck
-rw-r--r-- 1 jboss jboss 514M Nov 14 09:22 seg000013456.frs
-rw-r--r-- 1 jboss jboss 514M Nov 14 09:23 seg000013457.frs
-rw-r--r-- 1 jboss jboss 513M Nov 14 09:23 seg000013458.frs
...
-rw-r--r-- 1 jboss jboss 514M Nov 14 10:23 seg000013504.frs
-rw-r--r-- 1 jboss jboss 344M Nov 14 10:29 seg000013505.frs  

我的问题是:

  • 这是磁盘存储的预期行为吗?或者我们的缓存/缓存元素是否有问题会产生大量的段?
  • 有没有办法/配置来限制保留在磁盘上的段数?
  • 或者同样减少 60 分钟的窗口以更频繁地删除文件?
4

0 回答 0