知识库

如何配置堆外事务状态

此功能在 3.5 版本中是实验性的,在 4.0 版本中默认启用。

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

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

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

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

dbms.tx_state.memory_allocation

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

dbms.tx_state.max_off_heap_memory

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

© . All rights reserved.