ulimit 配置步骤
vi /etc/sysctl.conf
vm.max_map_count=262144
vi /etc/security/limits.conf
- soft nofile 81930
- hard nofile 81930
es soft memlock unlimited
es hard memlock unlimited
root soft nofile 81930
root hard nofile 81930
sysctl -p 立即生效
- admin用户重新登录:
ulimit -a 查看确认
疑问
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
sudo sysctl -w vm.max_map_count=262144
/etc/sysctl.conf
vm.max_map_count=262144max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
vi /etc/security/limits.conf
admin hard nofile 65536
admin soft nofile 65536can not run elasticsearch as root
对于5.X,在config/jvm.options配置文件中,添加-Des.insecure.allow.root=true
内存锁定
解决方法1:配置 config/elasticsearch.yml ,注释掉以下内容
bootstrap.memory_lock: true
解决方法2:配置:/etc/security/limits.conf
admin soft memlock unlimited
admin hard memlock unlimited
终极方案
vim /etc/security/limits.conf * soft nofile 65536 * hard nofile 131072 * soft nproc 2048 * hard nproc 4096 vim /etc/security/limits.d/90-nproc.conf * soft nproc 1024 * soft nproc 2048 vim /etc/sysctl.conf Added for Elasticsearch vm.max_map_count = 262144 sysctl -p