wsl 开发环境中完美解决 vm.max_map_count [65530] is too low
Win10环境用WSL+Docer搭建ElasticSearch集群时,肯定会报这样一个错误:
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
当前docker-desktop运行实例解决方案如下:
$ wsl -d docker-desktop $ sysctl -w vm.max_map_count=262144
不少人应该都试过这样来设置,但是令人疑惑的是为啥WSL重启或电脑重启后就不起效了?
因为这个解决方案是在当前运行时起作用,每次重启wsl或服务器,WSL会创建一个新的运行实例,初始化后的 vm.max_map_count就是65530
要想彻底解决这个问题,就要从wsl初始化入手:
# 创建.wslconfig文件 > cd C:\Users\Administrator\ > '[wsl2]' >> .wslconfig > 'kernelCommandLine = "sysctl.vm.max_map_count=262144"' >> .wslconfig # 重启wsl > wls --shutdown > wls -d docker-desktop sysctl vm.max_map_count # 如果输出以下内容,说明设置成功,再也不怕重启了 vm.max_map_count = 262144