Win10 + WSL2 + DockerDesktop环境下,启动ElasticSearch:7.8.1时出现vm.max_map_count异常

vm.max_map_count(Win10环境)

参考文章:vm.max_map_count [65530] is too low 问题解决(WSL 2、Docker Desktop)


环境说明

Win10 + WSL2 + DockerDesktop

问题描述

运行ElasticSearch容器时抛出错误信息:“[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]”

解决方案

主要问题就是 Linux Distro Virtual Memory Areas 默认的 vm.max_map_count 值是65530,太小不足以支撑ES的运行,需要将该值增大到至少262144。

方案一

进入到你所使用的WSL 2 distro中(本人使用的是Ubuntu 20)

  1. 切换管理员身份

    sudo -i
    
  2. 修改/etc/sysctl.conf文件

    vim /etc/sysctl.conf (需要是root账户)
    
    vm.max_map_count=262144 (文件最后添加一行)
    
  3. 重启

    sysctl -p (重启生效)
    

    该方法有一个问题,一旦系统重启或者Docker Desktop重启,就需要重新手动执行以上命令,比较麻烦。

方案二
  1. 打开CMD或PowerShell

  2. 执行下列命令:

    wsl -d docker-desktop
    echo 262144 >> /proc/sys/vm/max_map_count
    

    通过这个方法,即使操作系统重启,参数仍然有效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值