Unable to parse vm.maxmapcount – How to solve related issues

Unable to parse vm.maxmapcount – How to solve related issues

Opster Team

43941, 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 parse vm.maxmapcount ” to appear. It’s important to understand the issues related to the log, so to get started, read the general overview on common issues and tips related to the Elasticsearch concepts: bootstrap checks.

Advanced users might want to skip right to the common problems section in each concept or try running the Check-Up which analyses ES to pinpoint the cause of many errors and provides suitable actionable recommendations how to resolve them (free tool that requires no installation).

vm.max_map_count is defined as a Long data type in Elasticsearch. 

This method in BootstrapChecks.java tries to convert it from String(Read in Sting) to the Long data type.

If you define a `vm.max_map_count` which can’t be converted to Long, then Elasticsearch throws NumberFormatException and logs below Error:

 unable to parse vm.max_map_count 

Log Context

Log “Unable to parse vm.max_map_count [{}]” classname is BootstrapChecks.java
We extracted the following from Elasticsearch source code for those seeking an in-depth context :

                 final String rawProcSysVmMaxMapCount = readProcSysVmMaxMapCount(bufferedReader);
                if (rawProcSysVmMaxMapCount != null) {
                    try {
                        return parseProcSysVmMaxMapCount(rawProcSysVmMaxMapCount);
                    } catch (final NumberFormatException e) {
                        logger.warn(() -> new ParameterizedMessage("unable to parse vm.max_map_count [{}]"; rawProcSysVmMaxMapCount); e);
                    }
                }
            } catch (final IOException e) {
                logger.warn(() -> new ParameterizedMessage("I/O exception while trying to read [{}]"; path); e);
            }




 

Run the Check-Up to get a customized report like this:

Analyze your cluster