知识库

如何配置堆外事务状态

此功能在 3.5 版中为实验性功能,默认在 4.0 版中开启。

从 Neo4j 3.5 开始,可以将部分事务数据存储在堆外内存中。这有助于降低垃圾回收压力和/或在有限的使用场景下防止 OOM 崩溃,例如

  • 在单个事务中创建/删除大量实体

  • 在单个事务中创建/更新大量属性,尤其是当这些属性是大字符串时

有两个相关的配置参数,它们都是静态的,运行时不能更改。

dbms.tx_state.memory_allocation

此参数控制事务状态是存储在堆上还是堆外。可能的取值为 ON_HEAPOFF_HEAP。默认值为 ON_HEAP

dbms.tx_state.max_off_heap_memory

此参数用于设置用于存储事务状态数据的堆外内存的全局上限。零表示“无限”。默认值为 2G

© . This site is unofficial and not affiliated with Neo4j, Inc.