【问题标题】:Ehcache low memory behaviourEhcache 低内存行为
【发布时间】:2012-06-15 09:10:03
【问题描述】:

我正在使用 ehcache 1.2.3。由于缓存大小是根据“元素”指定的,因此 缓存占用的内存可能会有很大差异(ehcache与 休眠并保存标准查询缓存,其中查询返回结果集 大小可能会有所不同)。我的问题是:如果 JVM 内存不足会发生什么。我的 阅读 ehcache 的更新日志的印象是,最初它使用的是软 引用,但由于 java 1.4 正在积极地清理它们,所以软引用 最终被丢弃。因此,如果缓存变得太大,我会得到 内存不足错误? Ehcache 中没有任何东西试图阻止它?

【问题讨论】:

    标签: java hibernate ehcache out-of-memory


    【解决方案1】:

    你是对的,如果你想用 ehcache 创建一个 OOM,你可以这样做。你有没有看过尺寸选项,虽然像 maxEntriesLocalHeap / maxBytesLocalHeap。使用这些可以有效地防止缓存使用超过分配的内存量。

    参见例如http://ehcache.org/documentation/configuration/cache-size

    【讨论】:

    • 谢谢,我确实有这样的印象,在最近的 Ehcache 版本中,可能会明确限制内存消耗。但我的问题是关于 Ehcache 1.2.3,因为这是我正在处理的系统中使用的。而且,目前我的印象(没有实验支持)确实是,如果缓存在使用的内存方面变得太大(而不是使用的元素数量),Ehcache 1.2.3 将不会尝试驱逐条目到限制内存消耗。
    猜你喜欢
    • 2016-12-21
    • 2022-12-14
    • 1970-01-01
    • 2015-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-29
    • 2012-05-13
    相关资源
    最近更新 更多