我们的Apache Ignite生产环境中的数据区域内存不足,Ignite进程被杀死。我们已经配置了68 GB的堆内存。并且没有启用驱逐策略,因为我们不想从Ignite中丢失任何数据。此外,我们没有启用持久性,因为我们只想将整个数据存储在Ignite中。
class org.apache.ignite.internal.mem.IgniteOutOfMemoryException: Out of memory in data region [name=Default_Region, initSize=256.0 MiB, maxSize=68.0 GiB, persistenceEnabled=false] Try the following:
^-- Increase maximum off-heap memory size (DataRegionConfiguration.maxSize)
^-- Enable Ignite persistence (DataRegionConfiguration.persistenceEnabled)
^-- Enable eviction or expiration policies
at org.apache.ignite.internal.pagemem.impl.PageMemoryNoStoreImpl.allocatePage(PageMemoryNoStoreImpl.java:304)
at org.apache.ignite.internal.processors.cache.persistence.freelist.AbstractFreeList.allocateDataPage(AbstractFreeList.java:463)
at org.apache.ignite.internal.processors.cache.persistence.freelist.AbstractFreeList.insertDataRow(AbstractFreeList.java:501)
at org.apache.ignite.internal.processors.cache.persistence.RowStore.addRow(RowStore.java:97)此错误的原因是占用了整个数据区域(68 GB)?如果是,我们可以停止Ignite服务来处理这个问题吗?
发布于 2019-11-04 18:42:39
我认为这个错误就像描述的那样,三种解决方案都是有效的。
Ignite more memory
如果你不能分配更多的内存,并且想把所有的东西都保存在Ignite中,它看起来像是选项3。
我们也没有启用持久性,因为我们只想在Ignite中存储整个数据。
需要说明的是: Ignite有两种持久性。第三方持久性,其中Ignite将其数据的副本保存到遗留数据库。以及Ignite自己管理的native persistence。上面的建议主要是关于后者的。
https://stackoverflow.com/questions/58688713
复制相似问题