How to configure off-heap transaction state
This feature is experimental in 3.5, on by default in 4.0. |
Commencing with Neo4j 3.5, it is possible to store some of transactions' data in off-heap memory. This can help to reduce GC pressure and/or prevent OOM crashes in a limited set of use cases, such as:
-
Creating/removing huge number of entities in a single transaction
-
Creating/updating huge number of properties in a single transaction, especially if those are large strings
There are two relevant configuration parameters, both of which static and cannot be changed at run time.
dbms.tx_state.memory_allocation
This parameter controls whether transaction state should be stored on- or off-heap. Possible values are ON_HEAP
and OFF_HEAP
.
Default value is ON_HEAP
.
dbms.tx_state.max_off_heap_memory
This parameter allows to set a global limit on amount of off-heap memory that can be used
for storing transaction state data. Zero means "unlimited". Default value is 2G
.
Is this page helpful?