25.3. Kernel configuration

These are the configuration options you can pass to the neo4j kernel. They can either be passed as a map when using the embedded database, or in the neo4j.properties file when using the Neo4j Server.

All stores total mapped memory size

Default value: 524288000

all_stores_total_mapped_memory_size

The size to allocate for a memory mapping pool to be shared between all stores.


Allow store upgrade

Default value: false

allow_store_upgrade

Whether to allow a store upgrade in case the current version of the database starts against an older store version. Setting this to true does not guarantee successful upgrade, just that it allows an attempt at it.


Array block size

Default value: 120

array_block_size

Specifies the block size for storing arrays. This parameter is only honored when the store is created, otherwise it is ignored. The default block size is 120 bytes, and the overhead of each block is the same as for string blocks, i.e., 8 bytes.


Backup slave

Default value: false

backup_slave

Mark this database as a backup slave.


Cache type

Default value: soft

cache_type

The type of cache to use for nodes and relationships. Note that the Neo4j Enterprise Edition has the additional 'gcr' cache type. See the chapter on caches in the manual for more information.


Cypher parser version

cypher_parser_version

Enable this to specify a parser other than the default one.


Dump configuration

Default value: false

dump_configuration

Print out the effective Neo4j configuration after startup.


Forced kernel id

forced_kernel_id

An identifier that uniquely identifies this graph database instance within this JVM. Defaults to an auto-generated number depending on how many instance are started in this JVM.


Gc monitor threshold

Default value: 200

gc_monitor_threshold

The amount of time in ms the monitor thread has to be blocked before logging a message it was blocked.


Gc monitor wait time

Default value: 100

gc_monitor_wait_time

Amount of time in ms the GC monitor thread will wait before taking another measurement.


Gcr cache min log interval

Default value: 60s

gcr_cache_min_log_interval

The minimal time that must pass in between logging statistics from the cache (when using the 'gcr' cache).


Grab file lock

Default value: true

grab_file_lock

Whether to grab locks on files or not.


Intercept committing transactions

Default value: false

intercept_committing_transactions

Determines whether any TransactionInterceptors loaded will intercept prepared transactions before they reach the logical log.


Intercept deserialized transactions

Default value: false

intercept_deserialized_transactions

Determines whether any TransactionInterceptors loaded will intercept externally received transactions (e.g. in HA) before they reach the logical log and are applied to the store.


Keep logical logs

Default value: 7 days

keep_logical_logs

Make Neo4j keep the logical transaction logs for being able to backup the database.Can be used for specifying the threshold to prune logical logs after. For example "10 days" will prune logical logs that only contains transactions older than 10 days from the current time, or "100k txs" will keep the 100k latest transactions and prune any older transactions.


Load kernel extensions

Default value: true

load_kernel_extensions

Enable loading kernel extensions


Log mapped memory stats

Default value: false

log_mapped_memory_stats

Tell Neo4j to regularly log memory mapping statistics.


Log mapped memory stats filename

Default value: mapped_memory_stats.log

log_mapped_memory_stats_filename

The file where Neo4j will record memory mapping statistics.


Log mapped memory stats interval

Default value: 1000000

log_mapped_memory_stats_interval

The number of records to be loaded between regular logging of memory mapping statistics.


Logging.threshold for rotation

Default value: 104857600

logging.threshold_for_rotation

Threshold in bytes for when database logs (text logs, for debugging, that is) are rotated.


Logical log

Default value: nioneo_logical.log

logical_log

The base name for the logical log files, either an absolute path or relative to the store_dir setting. This should generally not be changed.


Logical log rotation threshold

Default value: 26214400

logical_log_rotation_threshold

Specifies at which file size the logical log will auto-rotate. 0 means that no rotation will automatically occur based on file size. Default is 25M


Lucene searcher cache size

Default value: 2147483647

lucene_searcher_cache_size

Integer value that sets the maximum number of open lucene index searchers.


Lucene writer cache size

Default value: 2147483647

lucene_writer_cache_size

NOTE: This no longer has any effect. Integer value that sets the maximum number of open lucene index writers.


Mapped memory page size

Default value: 1048576

mapped_memory_page_size

Target size for pages of mapped memory.


Neo store

Default value: neostore

neo_store

The base name for the Neo4j Store files, either an absolute path or relative to the store_dir setting. This should generally not be changed.


Neostore.nodestore.db.mapped memory

Default value: 20971520

neostore.nodestore.db.mapped_memory

The size to allocate for memory mapping the node store.


Neostore.propertystore.db.arrays.mapped memory

Default value: 136314880

neostore.propertystore.db.arrays.mapped_memory

The size to allocate for memory mapping the array property store.


Neostore.propertystore.db.index.keys.mapped memory

Default value: 1048576

neostore.propertystore.db.index.keys.mapped_memory

The size to allocate for memory mapping the store for property key strings.


Neostore.propertystore.db.index.mapped memory

Default value: 1048576

neostore.propertystore.db.index.mapped_memory

The size to allocate for memory mapping the store for property key indexes.


Neostore.propertystore.db.mapped memory

Default value: 94371840

neostore.propertystore.db.mapped_memory

The size to allocate for memory mapping the property value store.


Neostore.propertystore.db.strings.mapped memory

Default value: 136314880

neostore.propertystore.db.strings.mapped_memory

The size to allocate for memory mapping the string property store.


Neostore.relationshipstore.db.mapped memory

Default value: 104857600

neostore.relationshipstore.db.mapped_memory

The size to allocate for memory mapping the relationship store.


Node auto indexing

Default value: false

node_auto_indexing

Controls the auto indexing feature for nodes. Setting to false shuts it down, while true enables it by default for properties listed in the node_keys_indexable setting.


Node cache array fraction

Default value: 1.0

node_cache_array_fraction

The fraction of the heap (1%-10%) to use for the base array in the node cache (when using the 'gcr' cache).


Node cache size

node_cache_size

The amount of memory to use for the node cache (when using the 'gcr' cache).


Node keys indexable

node_keys_indexable

A list of property names (comma separated) that will be indexed by default. This applies to Nodes only.


Query cache size

Default value: 100

query_cache_size

Used to set the number of Cypher query execution plans that are cached.


Read only database

Default value: false

read_only

Only allow read operations from this Neo4j instance. This mode still requires write access to the directory for lock purposes


Rebuild idgenerators fast

Default value: true

rebuild_idgenerators_fast

Use a quick approach for rebuilding the ID generators. This give quicker recovery time, but will limit the ability to reuse the space of deleted entities.


Relationship auto indexing

Default value: false

relationship_auto_indexing

Controls the auto indexing feature for relationships. Setting to false shuts it down, while true enables it by default for properties listed in the relationship_keys_indexable setting.


Relationship cache array fraction

Default value: 1.0

relationship_cache_array_fraction

The fraction of the heap (1%-10%) to use for the base array in the relationship cache (when using the 'gcr' cache).


Relationship cache size

relationship_cache_size

The amount of memory to use for the relationship cache (when using the 'gcr' cache).


Relationship grab size

Default value: 100

relationship_grab_size

How many relationships to read at a time during iteration


Relationship keys indexable

relationship_keys_indexable

A list of property names (comma separated) that will be indexed by default. This applies to Relationships only.


Remote logging enabled

Default value: false

remote_logging_enabled

Whether to enable logging to a remote server or not.


Remote logging host

Default value: 127.0.0.1

remote_logging_host

Host for remote logging using LogBack SocketAppender.


Remote logging port

Default value: 4560

remote_logging_port

Port for remote logging using LogBack SocketAppender.


Store dir

store_dir

The directory where the database files are located.


String block size

Default value: 120

string_block_size

Specifies the block size for storing strings. This parameter is only honored when the store is created, otherwise it is ignored. Note that each character in a string occupies two bytes, meaning that a block size of 120 (the default size) will hold a 60 character long string before overflowing into a second block. Also note that each block carries an overhead of 8 bytes. This means that if the block size is 120, the size of the stored records will be 128 bytes.


Tx manager impl

Default value: native

tx_manager_impl

The name of the Transaction Manager service to use as defined in the TM service provider constructor.


Use memory mapped buffers

use_memory_mapped_buffers

Tell Neo4j to use memory mapped buffers for accessing the native storage layer.