Tarantool CE/EE Documentation portal logo
Support
Updated at July 17, 2026   02:08 PM

cfg_storage

memtx_memory

Since version 1.7.4.

How much memory Tarantool allocates to store tuples. When the limit is reached, INSERT or UPDATE requests begin failing with error ER_MEMORY_ISSUE. The server does not go beyond the memtx_memory limit to allocate tuples, but there is additional memory used to store indexes and connection information.

Type: float

Default: 256 * 1024 * 1024 = 268435456 bytes

Minimum: 33554432 bytes (32 MB)

Environment variable: TT_MEMTX_MEMORY

Dynamic: yes but it cannot be decreased

memtx_max_tuple_size

Since version 1.7.4.

Size of the largest allocation unit, for the memtx storage engine. It can be increased if it is necessary to store large tuples.

Type: integer

Default: 1024 * 1024 = 1048576 bytes

Environment variable: TT_MEMTX_MAX_TUPLE_SIZE

Dynamic: yes

memtx_min_tuple_size

Since version 1.7.4.

Size of the smallest allocation unit. It can be decreased if most of the tuples are very small.

Type: integer

Default: 16 bytes

Possible values: between 8 and 1048280 inclusive

Environment variable: TT_MEMTX_MIN_TUPLE_SIZE

Dynamic: no

memtx_allocator

Since version 2.10.0.

Specify the allocator that manages memory for memtx tuples. Possible values:

  • system – the memory is allocated as needed, checking that the quota is not exceeded. THe allocator is based on the malloc function.
  • small – a slab allocator. The allocator repeatedly uses a memory block to allocate objects of the same type. Note that this allocator is prone to unresolvable fragmentation on specific workloads, so you can switch to system in such cases.

Type: string

Default: 'small'

Environment variable: TT_MEMTX_ALLOCATOR

Dynamic: no

memtx_sort_threads

Since: 3.0.0.

The number of threads from the thread pool used to sort keys of secondary indexes on loading a memtx database. The minimum value is 1, the maximum value is 256. The default is to use all available cores.

Type: integer

Default: box.NULL

Environment variable: TT_MEMTX_SORT_THREADS

Dynamic: no

slab_alloc_factor

The multiplier for computing the sizes of memory chunks that tuples are stored in. A lower value may result in less wasted memory depending on the total amount of memory available and the distribution of item sizes.

See also: slab_alloc_granularity

Type: float

Default: 1.05

Possible values: between 1 and 2 inclusive

Environment variable: TT_SLAB_ALLOC_FACTOR

Dynamic: no

slab_alloc_granularity

Since version 2.8.1.

Specify the granularity (in bytes) of memory allocation in the small allocator. The memtx.slab_alloc_granularity value should meet the following conditions:

  • The value is a power of two.
  • The value is greater than or equal to 4.

Below are few recommendations on how to adjust the memtx.slab_alloc_granularity option:

  • If the tuples in space are small and have about the same size, set the option to 4 bytes to save memory.
  • If the tuples are different-sized, increase the option value to allocate tuples from the same mempool (memory pool).

See also: slab_alloc_factor

Type: number

Default: 8 bytes

Environment variable: TT_SLAB_ALLOC_GRANULARITY

Dynamic: no

vinyl_bloom_fpr

Since version 1.7.4.

Bloom filter false positive rate – the suitable probability of the bloom filter to give a wrong result. The vinyl_bloom_fpr setting is a default value for one of the options in the Options for space_object:create_index() chart.

Type: float

Default: 0.05

Environment variable: TT_VINYL_BLOOM_FPR

Dynamic: no

vinyl_cache

Since version 1.7.4. The cache size for the vinyl storage engine. The cache can be resized dynamically.

Type: integer

Default: 128 * 1024 * 1024 = 134217728 bytes

Environment variable: TT_VINYL_CACHE

Dynamic: yes

vinyl_max_tuple_size

Since version 1.7.5.

Size of the largest allocation unit, for the vinyl storage engine. It can be increased if it is necessary to store large tuples. See also: memtx_max_tuple_size.

Type: integer

Default: 1024 * 1024 = 1048576 bytes

Environment variable: TT_VINYL_MAX_TUPLE_SIZE

Dynamic: no

vinyl_memory

Since version 1.7.4.

The maximum number of in-memory bytes that vinyl uses.

Type: integer

Default: 128 * 1024 * 1024 = 134217728 bytes

Environment variable: TT_VINYL_MEMORY

Dynamic: yes but it cannot be decreased

vinyl_page_size

Since version 1.7.4.

Page size. Page is a read/write unit for vinyl disk operations. The vinyl_page_size setting is a default value for one of the options in the Options for space_object:create_index() chart.

Type: integer

Default: 8 * 1024 = 8192 bytes

Environment variable: TT_VINYL_PAGE_SIZE

Dynamic: no

vinyl_range_size

Since version 1.7.4.

The default maximum range size for a vinyl index, in bytes. The maximum range size affects the decision whether to split a range.

If vinyl_range_size is not nil and not 0, then it is used as the default value for the range_size option in the Options for space_object:create_index() chart.

If vinyl_range_size is nil or 0, and range_size is not specified when the index is created, then Tarantool sets a value later depending on performance considerations. To see the actual value, use index_object:stat().range_size.

In Tarantool versions prior to 1.10.2, vinyl_range_size default value was 1073741824.

Type: integer

Default: nil

Environment variable: TT_VINYL_RANGE_SIZE

Dynamic: no

vinyl_run_count_per_level

Since version 1.7.4.

The maximal number of runs per level in vinyl LSM tree. If this number is exceeded, a new level is created. The vinyl_run_count_per_level setting is a default value for one of the options in the Options for space_object:create_index() chart.

Type: integer

Default: 2

Environment variable: TT_VINYL_RUN_COUNT_PER_LEVEL

Dynamic: no

vinyl_run_size_ratio

Since version 1.7.4.

Ratio between the sizes of different levels in the LSM tree. The vinyl_run_size_ratio setting is a default value for one of the options in the Options for space_object:create_index() chart.

Type: float

Default: 3.5

Environment variable: TT_VINYL_RUN_SIZE_RATIO

Dynamic: no

vinyl_read_threads

Since version 1.7.5.

The maximum number of read threads that vinyl can use for some concurrent operations, such as I/O and compression.

Type: integer

Default: 1

Environment variable: TT_VINYL_READ_THREADS

Dynamic: no

vinyl_write_threads

Since version 1.7.5.

The maximum number of write threads that vinyl can use for some concurrent operations, such as I/O and compression.

Type: integer

Default: 4

Environment variable: TT_VINYL_WRITE_THREADS

Dynamic: no