Before you dig into reading this guide, have you tried asking OpsGPT what this log means? You’ll receive a customized analysis of your log.
Try OpsGPT now for step-by-step guidance and tailored insights into your OpenSearch operation.
Briefly, this error occurs when OpenSearch is unable to lock the memory it needs due to system limits. The RLIMIT_MEMLOCK is a system setting that controls the maximum memory that can be locked by a process. To resolve this, you can increase the RLIMIT_MEMLOCK limits. This can be done by editing the ‘/etc/security/limits.conf’ file and adding or modifying lines for the OpenSearch user like ‘opensearch soft memlock unlimited’ and ‘opensearch hard memlock unlimited’. Alternatively, you can also set the ‘bootstrap.memory_lock’ setting to ‘false’ in the OpenSearch configuration file, but this may impact performance.
For a complete solution to your to your search operation, try for free AutoOps for Elasticsearch & OpenSearch . With AutoOps and Opster’s proactive support, you don’t have to worry about your search operation – we take charge of it. Get improved performance & stability with less hardware.
This guide will help you check for common problems that cause the log ” Increase RLIMIT_MEMLOCK; soft limit: {}; hard limit: {} ” to appear. To understand the issues related to this log, read the explanation below about the following OpenSearch concepts: bootstrap.
Log Context
Log “Increase RLIMIT_MEMLOCK; soft limit: {}; hard limit: {}” classname is JNANatives.java.
We extracted the following from OpenSearch source code for those seeking an in-depth context :
// mlockall failed for some reason logger.warn("Unable to lock JVM Memory: error={}; reason={}"; errno ; errMsg); logger.warn("This can result in part of the JVM being swapped out."); if (errno == JNACLibrary.ENOMEM) { if (rlimitSuccess) { logger.warn("Increase RLIMIT_MEMLOCK; soft limit: {}; hard limit: {}"; rlimitToString(softLimit); rlimitToString(hardLimit)); if (Constants.LINUX) { // give specific instructions for the linux case to make it easy String user = System.getProperty("user.name"); logger.warn("These can be adjusted by modifying /etc/security/limits.conf; for example: \n" +