|
1 | 1 | * :ref:`memtx_memory <cfg_storage-memtx_memory>`
|
2 | 2 | * :ref:`memtx_max_tuple_size <cfg_storage-memtx_max_tuple_size>`
|
3 | 3 | * :ref:`memtx_min_tuple_size <cfg_storage-memtx_min_tuple_size>`
|
| 4 | +* :ref:`memtx_allocator <cfg_storage-memtx_allocator>` |
4 | 5 | * :ref:`slab_alloc_factor <cfg_storage-slab_alloc_factor>`
|
| 6 | +* :ref:`slab_alloc_granularity <cfg_storage-slab_alloc_granularity>` |
5 | 7 | * :ref:`vinyl_bloom_fpr <cfg_storage-vinyl_bloom_fpr>`
|
6 | 8 | * :ref:`vinyl_cache <cfg_storage-vinyl_cache>`
|
7 | 9 | * :ref:`vinyl_max_tuple_size <cfg_storage-vinyl_max_tuple_size>`
|
|
61 | 63 | | Environment variable: TT_MEMTX_MIN_TUPLE_SIZE
|
62 | 64 | | Dynamic: no
|
63 | 65 |
|
| 66 | +.. _cfg_storage-memtx_allocator: |
| 67 | + |
| 68 | +.. confval:: memtx_allocator |
| 69 | + |
| 70 | + Since version :doc:`2.10.0 </release/2.10.0>`. |
| 71 | + Specifies the allocator used for memtx tuples. |
| 72 | + The possible values are ``system`` and ``small``: |
| 73 | + |
| 74 | + * ``system`` is based on the ``malloc`` function. |
| 75 | + This allocator allocates memory as needed, checking that the quota is not exceeded. |
| 76 | + |
| 77 | + * ``small`` is a special `slab allocator <https://github.com/tarantool/small>`_. |
| 78 | + Note that this allocator is prone to unresolvable fragmentation on specific workloads, |
| 79 | + so you can switch to ``system`` in such cases. |
| 80 | + |
| 81 | + | Type: string |
| 82 | + | Default: 'small' |
| 83 | + | Environment variable: TT_MEMTX_ALLOCATOR |
| 84 | + | Dynamic: No |
| 85 | +
|
64 | 86 | .. _cfg_storage-slab_alloc_factor:
|
65 | 87 |
|
66 | 88 | .. confval:: slab_alloc_factor
|
|
70 | 92 | memory depending on the total amount of memory available and the
|
71 | 93 | distribution of item sizes. Allowed values range from 1 to 2.
|
72 | 94 |
|
| 95 | + See also: :ref:`slab_alloc_granularity <cfg_storage-slab_alloc_granularity>` |
| 96 | + |
73 | 97 | | Type: float
|
74 | 98 | | Default: 1.1
|
75 | 99 | | Environment variable: TT_SLAB_ALLOC_FACTOR
|
76 | 100 | | Dynamic: no
|
77 | 101 |
|
| 102 | +.. _cfg_storage-slab_alloc_granularity: |
| 103 | + |
| 104 | +.. confval:: slab_alloc_granularity |
| 105 | + |
| 106 | + Since version :doc:`2.8.1 </release/2.8.1>`. |
| 107 | + Specifies the granularity (in bytes) of memory allocation in the :ref:`small allocator <cfg_storage-memtx_allocator>`. |
| 108 | + The value of ``slab_alloc_granularity`` should be a power of two and should be greater than or equal to 4. |
| 109 | + Below are few recommendations on how to adjust the ``slab_alloc_granularity`` value: |
| 110 | + |
| 111 | + * To store small tuples of approximately the same size, set ``slab_alloc_granularity`` to 4 bytes to save memory. |
| 112 | + |
| 113 | + * To store tuples of different sizes, you can increase the ``slab_alloc_granularity`` value. |
| 114 | + This results in allocating tuples from the same ``mempool``. |
| 115 | + |
| 116 | + See also: :ref:`slab_alloc_factor <cfg_storage-slab_alloc_factor>` |
| 117 | + |
| 118 | + | Type: number |
| 119 | + | Default: 8 bytes |
| 120 | + | Environment variable: TT_SLAB_ALLOC_GRANULARITY |
| 121 | + | Dynamic: no |
| 122 | +
|
78 | 123 | .. _cfg_storage-vinyl_bloom_fpr:
|
79 | 124 |
|
80 | 125 | .. confval:: vinyl_bloom_fpr
|
|
0 commit comments