How to increase vm.max_map_count?

ElasticsearchAmazon Ec2

Elasticsearch Problem Overview


I'm trying to run Elastic search in an Ubuntu EC2 machine (t2.medium).

But I'm getting the message:

> max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

How can I increase the vm.max_map_count value?

Elasticsearch Solutions


Solution 1 - Elasticsearch

To make it persistent, you can add this line:

vm.max_map_count=262144

in your /etc/sysctl.conf and run

$ sudo sysctl -p

to reload configuration with new value

Solution 2 - Elasticsearch

I use

# sysctl -w vm.max_map_count=262144 

And for the persistence configuration

# echo "vm.max_map_count=262144" >> /etc/sysctl.conf

Att.

Solution 3 - Elasticsearch

Note that

> From version 207 and 21x, systemd only applies settings from > /etc/sysctl.d/*.conf and /usr/lib/sysctl.d/*.conf. If you had > customized /etc/sysctl.conf, you need to rename it as > /etc/sysctl.d/99-sysctl.conf. If you had e.g. /etc/sysctl.d/foo, you > need to rename it to /etc/sysctl.d/foo.conf.

See https://wiki.archlinux.org/index.php/sysctl#Configuration

So add vm.max_map_count=262144 in /etc/sysctl.d/99-sysctl.conf and then run

> sudo sysctl --system

Solution 4 - Elasticsearch

sysctl -w vm.max_map_count=262144

Solution 5 - Elasticsearch

When:

> permission denied on key 'vm.max_map_count'

sudo sysctl -w vm.max_map_count=262144

Solution 6 - Elasticsearch

If you are using ubuntu VM, then navigate to etc folder.

  1. Run vim sysctl.conf

  2. Add vm.max_map_count=262144 to the end of the file and save

  3. Finally run sudo sysctl -w vm.max_map_count=262144 this command you will see vm.max_map_count=262144

Solution 7 - Elasticsearch

Following command as worked fine on Fedora 28 (Linux 4.19 Kernel)

sudo echo "vm.max_map_count=262144" >> /etc/sysctl.d/elasticsearchSpecifications.conf && sudo sysctl --system

Solution 8 - Elasticsearch

I found that when adding the settings to /etc/sysctl.conf, the system actually saved the changes to /etc/sysctl.d/99-sysctl.conf.

And when saving the changes to /etc/sysctl.d/99-sysctl.conf, it's also saved to /etc/sysctl.conf, so I think they both point to the same file.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionFilipe FerminianoView Question on Stackoverflow
Solution 1 - ElasticsearchjdbsView Answer on Stackoverflow
Solution 2 - ElasticsearchHerberson MirandaView Answer on Stackoverflow
Solution 3 - ElasticsearchWenpin CHOUView Answer on Stackoverflow
Solution 4 - ElasticsearchFilipe FerminianoView Answer on Stackoverflow
Solution 5 - ElasticsearchDani MathewView Answer on Stackoverflow
Solution 6 - ElasticsearchGowri kumarView Answer on Stackoverflow
Solution 7 - ElasticsearchStanislas5View Answer on Stackoverflow
Solution 8 - ElasticsearchDavid LiuView Answer on Stackoverflow