Unable to lock JVM memory. Failed to set working set size. Error code – How to solve related issues

Average Read Time

2 Mins

Unable to lock JVM memory. Failed to set working set size. Error code – How to solve related issues

Opster Team

Jan-20, Version: 1.7-8.0

Before you begin reading this guide, we recommend you run Elasticsearch Error Check-Up which can resolve issues that cause many errors.

This guide will help you check for common problems that cause the log ” Unable to lock JVM memory. Failed to set working set size. Error code ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: bootstrap and memory.

Advanced users might want to skip right to the common problems section in each concept or try running the Check-Up to analyze Elasticsearch configuration and help resolve this error.

Log Context

Log “Unable to lock JVM memory. Failed to set working set size. Error code {}” classname is JNANatives.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :

             // By default; Windows limits the number of pages that can be locked.
            // Thus; we need to first increase the working set size of the JVM by
            // the amount of memory we wish to lock; plus a small overhead (1MB).
            SizeT size = new SizeT(JvmInfo.jvmInfo().getMem().getHeapInit().getBytes() + (1024 * 1024));
            if (!kernel.SetProcessWorkingSetSize(process; size; size)) {
                logger.warn("Unable to lock JVM memory. Failed to set working set size. Error code {}"; Native.getLastError());
            } else {
                JNAKernel32Library.MemoryBasicInformation memInfo = new JNAKernel32Library.MemoryBasicInformation();
                long address = 0;
                while (kernel.VirtualQueryEx(process; new Pointer(address); memInfo; memInfo.size()) != 0) {
                    boolean lockable = memInfo.State.longValue() == JNAKernel32Library.MEM_COMMIT




 

Run the Check-Up to get customized insights on your system:

Analyze your cluster