Meilisearch

max_indexing_memory parameter uses only 10% for indexing with 150MB minimum per thread

warning
configurationUpdated Feb 13, 2025(via Exa)
Technologies:
How to detect:

When max_indexing_memory is configured, Meilisearch allocates only 10% of the specified value for actual indexing operations, with a hard minimum of 150MB per indexing thread. This can lead to unexpected memory consumption if multiple threads are used, as the minimum per-thread allocation overrides the percentage calculation.

Recommended action:

Calculate required memory as: max(max_indexing_memory × 10%, 150MB × number_of_indexing_threads). Enable --log-level DEBUG to view actual allocation at indexing start, looking for 'Indexation allocated memory metrics' log entries. Adjust --max-indexing-threads or increase max_indexing_memory if allocation exceeds available container/machine memory.