You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache Ignite:堆外驱逐与缓存驱逐策略及数据区OOM问题咨询

Ignite数据区内存溢出与驱逐机制解析

遇到的错误信息:

Out of memory in data region [name=default, initSize=256.0 MiB, maxSize=8.0 GiB, persistenceEnabled=false]

基础概念确认

  • 非持久化数据区使用堆外(Off-heap)内存,和JVM堆内存(由-Xmx控制)完全无关,它的内存上限由数据区的maxSize参数决定,系统必须为其预留足够的物理/虚拟内存。

数据区驱逐策略的触发时机

数据区的驱逐由内存占用阈值触发:

  • 当数据区已用内存达到配置的evictionThreshold(默认是maxSize的90%)时,Ignite会启动驱逐流程。
  • 这个触发是针对整个数据区的,会通知所有归属该数据区的缓存执行各自的驱逐策略,释放堆外内存。

缓存驱逐与数据区驱逐的关联逻辑

  • 数据区本身没有独立的驱逐逻辑,只是一个触发源,实际的内存释放全靠每个缓存自己配置的驱逐策略(比如LRU、LFU、按过期时间清理等)来完成。
  • 如果缓存的驱逐策略腾不出足够空间(比如只清理过期数据但当前过期数据极少,或者数据写入速度远快于驱逐速度),数据区的内存占用会持续上升,直到触及maxSize上限,最终就会出现你遇到的内存溢出错误。

内容的提问来源于stack exchange,提问作者Lokesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 21:45:38