wsl 开发环境中完美解决 vm.max_map_count [65530] is too low

发布时间 2023-11-10 13:46:15作者: MissBug

  Win10环境用WSL+Docer搭建ElasticSearch集群时,肯定会报这样一个错误:

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

   解决方案如下:

$ wsl -d docker-desktop
$ sysctl -w vm.max_map_count=262144

  不少人应该都试过这样来设置,但是令人疑惑的是为啥WSL重启或电脑重启后就不起效了?

  这跟WSL的机制有关,具体就拿Docker-Desktop来说:

  docker-desktop启动时,会将自己原始的wsl文件拷贝一份,到当前运行时的虚拟文件系统

  因此,docker-desktop关闭时,进入的是原始的文件系统,修改的东西会长期有效,

  docker-desktop开启时,进入的是当前运行实例的虚拟文件系统,修改的东西仅在当前运行实例有效。

  简而言之:要想你的修改永久有效,就先关闭docker-desktop再修改!!