0

Apache Ignite 如何进行内存分配以避免内存碎片,特别是我试图将 Ignite 的方法与 Redis 的(jemalloc)方法进行比较。

4

1 回答 1

1

Apache Ignite 使用持久内存而不是堆分配。这意味着在 malloc 意义上没有碎片问题。它将内存分成 4k 页并将存储的数据写入页,并根据需要回收它们。

即使没有,Ignite 也使用 Java,它具有重定位 GC,因此不易受到内存碎片的影响——它总是可以压缩其堆。但它也可能导致 GC 暂停,我们通过使用 Durable Memory 来避免这种情况。

页面内存本身可能会被碎片化,因此我们有fillFactor度量来跟踪它。

于 2019-10-28T10:10:00.587 回答