How to increase vm.max_map_count?
ElasticsearchAmazon Ec2Elasticsearch 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.
-
Run
vim sysctl.conf
-
Add
vm.max_map_count=262144
to the end of the file and save -
Finally run
sudo sysctl -w vm.max_map_count=262144
this command you will seevm.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.