gpt4 book ai didi

cassandra - Memtable 类型和大小分配

转载 作者:行者123 更新时间:2023-12-05 03:06:07 25 4
gpt4 key购买 nike

在 Cassandra 3.11.2 中,Memtable 分配类型有 3 种选择,根据我的理解,如果我想将 Memtables 保留在 JVM 堆上,我可以使用 heap_buffers/strong> 如果我想将 Memtables 存储在 JVM 堆之外,那么我有两个选项 offheap_buffersoffheap_objects

堆外分配的两种选择到底有什么区别?

此外,可以在 YAML 文件中的 2 个位置设置用于 Memtable 的允许内存空间,即 memtable_heap_space_in_mbmemtable_offheap_space_in_mb

我是否需要在堆和堆外配置一些空间,而不考虑 Memtable 分配类型,或者我是否只需要根据我的 Memtable 分配类型设置其中一个,即 memtable_heap_space_in_mb 在使用 heap buffersmemtable_offheap_space_in_mb 时仅在使用其他 2 个堆外选项之一时?

最佳答案

  • heap_buffers(默认设置)使用 Java NIO 在堆上分配内存表。

  • offheap_buffers 使用相同的 Java NIO 在堆内外分配每个 memtable 的一部分。

  • offheap_objects 直接使用 native 内存,因此 Cassandra 将自行管理 memtable 内存(包括分配和垃圾收集)。此功能没有很好的文档记录,因此最好不要使用它。

对于 memtable_heap_space_in_mbmemtable_offheap_space_in_mb 我认为最好坚持使用默认值。对于每个,默认值为总堆大小的 1/4。但是,如果您打算更改某些内容,可能最好进行非常小的更改,因为它会减少 Cassandra 可以使用的内存量。

关于cassandra - Memtable 类型和大小分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49874917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com