V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
探索世界的好奇心万岁
cheng6563
V2EX  ›  分享发现

wsl2 个人使用小结

  •  
  •   cheng6563 · 2020-07-06 17:39:28 +08:00 · 3689 次点击
    这是一个创建于 468 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用的商店里的 Ubuntu 18.04 LTS

    相比 wsl1:
    • 能直接运行 docker 了
    • 使用 systemd 依然很困难
    • linux 分区的 IO 性能大幅提高
    • windows 分区(/mnt)性能大幅下降
    • wsl2 里的服务貌似只能用 localhost 访问
    • 内存占用更多,因为 linux 会重复缓存硬盘文件
    相比 vmware 之类虚拟机:
    • 随开随用
    • 动态内存,不用纠结到底给虚拟机多少内存,不会浪费
    • 文件管理器直接浏览编辑 linux 文件,不用开 sftp 工具了
    • 没有磁盘快照功能
    其他:
    • gayhub 上有个 ArchWSL2 能直接支持 systemd,但我试用了下 cpu 使用率莫名很高,就没用了。
    • 我现在把这段脚本加到 crontab 了,现在内存占用低了不少
    echo 1 > /proc/sys/vm/drop_caches && echo 1 > /proc/sys/vm/compact_memory
    
    • 因为 systemd 依然难以运行,docker 我是直接下载的二进制包自己写了个 init.d 脚本
    • 如果用 apt 安装 redis,会遇到因为 systemd 没运行造成不能安装,也不能卸载的尴尬处境。可以用这个脚本替换 systemd 进行卸载 https://github.com/yuk7/arch-systemctl-alt
    8 条回复    2020-07-07 08:21:05 +08:00
    BrettD
        1
    BrettD   2020-07-06 17:45:18 +08:00 via iPhone
    /proc/sys/vm/compact_memory
    是什么设置选项?
    richard1122
        2
    richard1122   2020-07-06 17:46:14 +08:00
    在 .wslconfig 里可以限制一下最大内存,默认太多了
    Osk
        3
    Osk   2020-07-06 18:06:20 +08:00 via Android
    动态内存,不用纠结到底给虚拟机多少内存,不会浪费

    不赞同,Hyper-v 虚拟机也可以用动态内存的
    keepeye
        4
    keepeye   2020-07-06 18:12:22 +08:00
    用 wsl2 的是不是都奔着 docker 去的?
    masquerader
        5
    masquerader   2020-07-06 18:20:03 +08:00
    如果用 docker 的话,其实用 Docker Desktop 就蛮好,反正背后也是用的 WSL2,这样省去了自己安装 WSL2 distro 以及进入 distro 安装 docker 的一系列步骤。
    caola
        6
    caola   2020-07-06 18:21:07 +08:00
    .wslconfig 可以限制最大值,
    如果 wsl2 里的服务要对外访问,那么就要端口转发出来,

    例如 WSL2 的 IP 为 172.x.x.x 的 80 端口:
    netsh interface portproxy add v4tov4 listenport=80 connectaddress=172.x.x.x listenaddress=* protocol=tcp
    acrisliu
        7
    acrisliu   2020-07-06 20:05:06 +08:00
    Docker 的话我直接装的 Docker Desktop,然后以 WSL2 做后端。另外 CLione 的 Cmake 环境也在 WSL2 中。
    canbingzt
        8
    canbingzt   2020-07-07 08:21:05 +08:00
    文件管理的话可以直接在资源管理器输入"\\wsl$"
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3878 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 06:53 · PVG 14:53 · LAX 23:53 · JFK 02:53
    ♥ Do have faith in what you're doing.