Increase RLIMIT MEMLOCK ulimit – How to solve this Elasticsearch error

Opster Team

Aug-23, Version: 6.8-8.9

Briefly, this error occurs when Elasticsearch is unable to lock the memory, due to the RLIMIT_MEMLOCK setting being too low. This can lead to swapping, which can degrade Elasticsearch performance. To resolve this issue, you can increase the RLIMIT_MEMLOCK limit in the operating system settings. Alternatively, you can disable memory swapping altogether, but this could potentially lead to out-of-memory errors. Another solution is to configure Elasticsearch to use a smaller heap size, which would reduce the amount of memory it needs to lock.

This guide will help you check for common problems that cause the log ” Increase RLIMIT_MEMLOCK (ulimit). ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: bootstrap.

Log Context

Log “Increase RLIMIT_MEMLOCK (ulimit).” classname is JNANatives.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :

                        \t{} soft memlock unlimited
                        \t{} hard memlock unlimited"""; user; user; user);
                    logger.warn("If you are logged in interactively; you will have to re-login for the new limits to take effect.");
                }
            } else {
                logger.warn("Increase RLIMIT_MEMLOCK (ulimit).");
            }
        }
    }

    static void trySetMaxNumberOfThreads() {

 

How helpful was this guide?

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?