Actually, Meilisearch uses the RAM available by design because it uses LMDB (which is memory-mapped) under the hood for key-value storage.
It's a feature, not a bug :D
The cool thing about that is that it is the OS that will get to choose which process to allocate memory, and you can always run it somewhere with less memory available, and it will work the same way
But is there any way to limit the memory? Sometimes I want to run more than one thing on the box. I found that meilisearch doesn't have a "max total memory use" flag
Hey, as the previous person said you cannot really limit the memory, Meilisearch uses.
But your OS will share the Meilisearch memory with other process seamlessly, you don’t have anything to do.
In htop it’s the yellow bar, and it’s basically a big cache shared between all processes.
Right. We released a lot of new versions of the engine to improve the indexing part of it. V1.12 is improving the document indexing a lot! Have you tried the latest version v1.14 we released yesterday?
While Meilisearch is capable of limiting it's resident (actual mallocs) memory. However, it requires a bare minimum (about 1GiB).
Are you sure it really limits the RAM?
You’re still using the same kernel, and if a process is using more memory than another one I would expect the kernel to keep more of its memory page in RAM than the other.