V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
CodeY99
V2EX  ›  程序员

WSL 使用过程中总断开,将 windows 换为 Ubuntu 是否是个好的选择

  •  
  •   CodeY99 · 11 天前 · 4070 次点击

    目前手头有一个 window11 , 锐龙 8845H + 24G 内存,一直使用 WSL 做前端开发,给其分配了 8 G 内存。但是使用 WSL 一直会提示重新连接,应该是 WSL 死掉了,运气好的话几天出现一次,运气不好一天出现几次。

    之前是考虑升级内存。但是现在内存价格翻了好几番。所以目前考虑将 Windows 换成 Ubuntu 。看了一下必须得软件 Ubuntu 上都有。请问这是否是一个好的选择?

    附:wslconfig 如下

    [automount]
    # 自动挂载所有 Windows 驱动器
    enabled = true
    # 挂载根目录设置为 /mnt/
    root = /mnt/
    # 关键:设置权限和元数据支持
    options = "metadata,umask=0022"
    # 启用 /etc/fstab 解析
    mountFsTab = true
    
    
    [wsl2]
    memory=12GB       # 限制最大内存,根据你电脑配置调整  之前是 8G ,这两天刚调整成 12G
    swap=4GB         # 限制交换空间,防止爆满硬盘
    processors=4     # 限制使用的 CPU 核心数(可选)
    autoMemoryReclaim=gradual  # (新版功能) 尝试自动回收内存
    localhostForwarding=true          # 是否启用 localhost 转发
    
    
    [experimental]
    networkingMode=mirrored           # 开启镜像网络
    dnsTunneling=true                 # 开启 DNS Tunneling
    firewall=true                     # 开启 Windows 防火墙
    autoProxy=true                    # 开启自动同步代理
    
    第 1 条附言  ·  11 天前
    感谢各位大哥,如果再崩我再试试把内存全配置给 WSL 试试。
    实在不行就换到 Ubuntu 试试。目前家里还有其他旧电脑,应该不用再起个 Windows 的虚拟机。
    61 条回复    2025-11-27 17:57:12 +08:00
    villivateur
        1
    villivateur  
       11 天前   ❤️ 1
    你玩全可以给 WSL 分配 24G 内存的,不会影响到主机,内存是动态管理的。CPU 同理,你有几个核心,就分配给他几个核心。
    zw2019
        2
    zw2019  
       11 天前
    ubutnu 里面开个 windows 虚拟机用来处理必须使用 windows 软件的情况
    ruanimal
        3
    ruanimal  
       11 天前
    可以完全没有问题
    EVANGELIONAir
        4
    EVANGELIONAir  
       11 天前
    Linux 跑 Windows 虚拟机没有好的图形加速方案,除非你显卡半虚拟化/直通,否则卡的飞起
    所以宿主 Linux 客户 Windows 不是好的解决方案
    mzsongyan
        5
    mzsongyan  
       11 天前
    我目前是 Linuxmint,然后使用 qemu/kvm 装 win10, 目前使用很方便
    woniu7
        6
    woniu7  
       11 天前
    之前用的时候,wsl 自动更新就直接给你挂了,虽说不是服务器,有点过分,还找不到地方设置手动更新。
    skkakaka2
        7
    skkakaka2  
       11 天前
    内存崩了吧,1 楼说的对,不过我都是直接使用 linux 开发的
    wu67
        8
    wu67  
       11 天前
    我同样觉得可以宿主机用 ubuntu, 虚拟机开 Windows 用办公软件和 office 完事. 开发可以直接在宿主机完成.
    xiao17
        9
    xiao17  
       11 天前
    分了 16G 给它没蹦过,但是我遇到了另外一个问题,占用 C 盘太大了。也不敢迁移。
    wuzhewuyou
        10
    wuzhewuyou  
       11 天前   ❤️ 1
    搞个旧机器玩 linux 不香么?

    免得都不畅快
    flyespace
        11
    flyespace  
       11 天前
    学习了,好多设置我第一次看到啊
    tool2dx
        12
    tool2dx  
       11 天前
    @xiao17 就一个单文件 ext4.vhdx, 随便迁移, 改个注册表路径的事情.
    YanSeven
        13
    YanSeven  
       11 天前
    Ubuntu 里面开 win 是一个“少有人走的路吧”,如果对 win 的需求极其低,那虚拟机的 win 可以应急。其他情况不知道有没人试过。
    sudo123
        14
    sudo123  
       11 天前
    可以换吧,再买个旧电脑装 win 做备用机
    artiga033
        15
    artiga033  
       11 天前 via Android
    wsl2 本质是轻量 hyper-v ,CPU 和内存有多少给多少直接拉满,不用担心占用。另外 wsl 如果检测到没有活着的 hvsocket ,也就是 wsl.exe 创建的 shell ,可能会直接关掉虚拟机。所以建议始终留一个 wsl.exe 直接创建的终端不要关,就算你已经打开了 vscode 什么的。
    xtreme1
        16
    xtreme1  
       11 天前
    大概率 autoMemoryReclaim 问题
    cornorj6
        17
    cornorj6  
       11 天前
    不如换苹果电脑,macos 对编程比较友好。
    orrinex
        18
    orrinex  
       11 天前
    再买一台,一台装 win ,一台装 linux ,然后远程过去
    zidian
        19
    zidian  
       11 天前
    vmware 用着很稳
    CodeY99
        20
    CodeY99  
    OP
       11 天前
    @artiga033 在 vscode 中一直开着类似 yarn dev 这中也不行吗?也得开个新的 shell 吗?
    CodeY99
        21
    CodeY99  
    OP
       11 天前
    @artiga033
    @villivateur 24G 都给了他会不会导致宿主 Windows 卡顿没法用? Chrome 也是内存大户。
    CodeY99
        22
    CodeY99  
    OP
       11 天前
    @zidian vmware 怕内存更吃不消。
    dyyd993
        23
    dyyd993  
       11 天前
    插个眼,我现在一台 MacBook ,一台 win11 笔记本,win11 也主要是用 wsl ,也想直接换成 Ubuntu
    Esec
        24
    Esec  
       11 天前 via Android
    说不值得买是针对休闲打游戏的,干活一个月什么都回来了,除非说这个活下个月要没了,不过这算力和配置不应该这么频繁挂掉,翻翻 var/log 之类的地方看看是什么原因,临时插个探针看看有哪些资源占用异常和具体的问题进程
    jacketma
        25
    jacketma  
       11 天前
    虚拟机内装一个带图形界面的 linux ,直接进去开发就不存在断连的问题了,搞前后端都能用,搞 ios/android 客户端不推荐。
    villivateur
        26
    villivateur  
       11 天前
    @CodeY99 #21 不会
    sudodo
        27
    sudodo  
       11 天前
    如果是 VSCODE remote 连 wsl2 开发的话,debug 的时候 8G 内存很可能不够。

    我就遇到过连不上这种情况,后来排查是内存不足。

    直接给到 16G 内存+8 个逻辑内核,再也没遇到过失联的情况
    ClericPy
        28
    ClericPy  
       11 天前
    vbox 装个 headless Ubuntu Windows 上用 ssh 没感觉有什么问题。有些公司不让用 linux 暂时用这个方法感觉很知足了
    littlez0325
        29
    littlez0325  
       11 天前
    @xiao17 用这个命令装就行了

    wsl --install Ubuntu --location "D:\wsl\Ubuntu"
    xiao17
        30
    xiao17  
       11 天前
    @littlez0325 谢谢兄 der ,我试试,之前网上查资料一堆命令,就不敢了,WSL 里面太多东西。
    kylesean
        31
    kylesean  
       10 天前
    上周刚装了双系统,我这么说吧,我内存 32,经常都能被 wsl 吃掉 20%多,外加 chrome 大户经常 50%起步,我实在受不了,用了 linux ,体验拉满。主要我这个 PC 做过一段时间直播,性能还挺好,但是配合 wsl 经常很烦,如果说你开发工作比较单一和集中,wsl 还是很方便的,可以用 mirrored 配置走 window 系统代理,但是痛点也很多,就是各种 ai ide 需要走一个 backend 才能唤起,而且他们并不兼容 vscode wsl 扩展,需要自己维护,这样每次你 cursor ./ code ./ 等等经常要下载那个插件,即便每次下载成功后过段时间又失效了,而且 ai sessions 是两个系统隔离的,且大模型有时候不知道你在 windows 还是 wsl 下,动不动就给你跑 powershell 命令等等,虽然都是小毛病但是真的很烦,还有最新版本的 docker desktop,你下载后他不给你安装指令路径的,我跑本地模型经常硬盘空间不够了,他全部塞到 C 盘了,你只有手动用命令卸载,重装指定路径才行。反正我深度体验了很久 wsl,小毛病隔应人。索性直接换 linux ,体验拉满。现在不需要物理 U 盘都可以支持安装了,安装双系统做好引导后开发走 linux,配合 DHH 发起的这个项目: https://learn.omacom.io/ 。我只能说其乐无穷,效率拉满!
    DefoliationM
        32
    DefoliationM  
       10 天前
    一步到位直接装 arch 或者 testing debian ,不怕 ubuntu 大版本升级
    fatigue
        33
    fatigue  
       10 天前
    我现在换 VMware workstation pro 了,现在都免费了。wsl 在我笔记本上,待机开屏会假死 100%,问题太多,懒得折腾了
    KuroNekoFan
        34
    KuroNekoFan  
       10 天前 via iPhone
    为啥要用 wsl ,又不是 devops ,单纯用 docker 都够了吧…
    maslkee
        35
    maslkee  
       10 天前
    最近尝试 ubuntu 办公一段时间了,遇到的唯一的一个问题是钉钉加入不了会议,其他的工作流都很流畅。
    duchenpaul
        36
    duchenpaul  
       10 天前
    VMware 或者自带的虚拟机 hyper-V ?
    ilaipi
        37
    ilaipi  
       10 天前
    如果不是特别老的项目,现在应该 win11 直接搞没啥问题了,不需要 wsl 了。我现在 win11 ,后端 nodejs ,前端 vue3 ,vite 这些,开发起来没一点问题。

    也想过换 Ubuntu ,不过现在电脑上东西太多了,懒得折腾。
    还有就是换 Ubuntu 的话,不确定微信这种现在咋样了?直播伴侣这个软件现在是只支持 win11
    halov
        38
    halov  
       10 天前
    WSL 有没有最佳实践之类的 之前先想用 WSL 做 JAVA 开发 感觉除了编译速度快了点,idea 开发用起来太麻烦了
    sinnosong1
        39
    sinnosong1  
       10 天前
    @halov 不太行,IDE 还是 idea 用起来舒服,但是 idea 的 wsl 体验非常差。vscode 写 java 很一般。我目前还是 windows 上写 java
    WashFreshFresh
        40
    WashFreshFresh  
       10 天前
    @xiao17 wsl 默认是在 C 盘,不过可以迁移,类似于挂载卸载。
    falser101
        41
    falser101  
       10 天前
    @ilaipi linux 微信除了没聊天记录导入导出,其他完全差不多,重构了
    falser101
        42
    falser101  
       10 天前
    推荐 arch + wm 用来开发真挺顺手的
    ilaipi
        43
    ilaipi  
       10 天前
    @falser101 #41 感谢告知
    xiaoming1992
        44
    xiaoming1992  
       10 天前 via Android
    我电脑 32G 内存,给 wsl 分配了 16+4 ,已经用 wsl 开发了几个项目了,除了之前不自量力跑本地 AI 外,从没断连过。

    注意把项目放 wsl 内,别放 win 里。
    sudodo
        45
    sudodo  
       10 天前
    claude code 和 code cli 目前在 windows 上可用性还不是很高,还得依赖 wsl 。这一点 mac 和 linux 不用那么麻烦
    yiranw09
        46
    yiranw09  
       10 天前
    @xiao17 迁移很简单啊?直接导出整个镜像文件,然后恢复备份到其他路径就可以了
    0x5c0f
        47
    0x5c0f  
       10 天前
    不用想了, 我用 linux 办公 7 年多了,原来用的 fedora ,最近换成了 ubuntu , 除非你使用的工具强依赖 windows , 那么更换 linux 办公,绝对会成为你最正确的选择。
    crocoBaby
        48
    crocoBaby  
       10 天前
    好奇 WSL 开发前端的好处是什么,我 WIN 开发前端很多年了,也没遇到什么问题啊
    yiranw09
        49
    yiranw09  
       10 天前
    @ilaipi 微信官方出 linux 版了,但是偶尔输入法会抽风
    CodeY99
        50
    CodeY99  
    OP
       10 天前   ❤️ 1
    @crocoBaby 说是前端开发,但前后端分离的没那么明显,后端运行起来需要很多特殊的东西。在 Linux 跑起来比较方便。
    另外现在 codex, claude code 似乎只能在 WSL 中。
    littlez0325
        51
    littlez0325  
       10 天前
    @xiao17 #30 网上大部分资料都是先安装,然后导出,然后删除原系统,然后再导入并指定磁盘路径,这种方式也是可以的.不过 wsl 本身就支持安装系统时指定磁盘路径,不用那么麻烦.另外指定安装或导入指定路径的方式都可能导致磁盘稀疏模式失效,安装完成后如果命令好有相关日志输出,需要手动执行 `wsl.exe --manage Ubuntu --set-sparse true --allow-unsafe` 开启
    ntedshen
        52
    ntedshen  
       10 天前
    你现在换 ubuntu 只能换 24 ,26 测试版东西还不全。。。
    然后过几个月就有 26 正式版,这个时间点上 ubuntu 怎么都是蛋疼的。。。
    gaifanking
        53
    gaifanking  
       10 天前
    用过半年,没微信,没有太好的邮件客户端,字体难看。开发编译比 windows 快
    Glkcv
        54
    Glkcv  
       10 天前
    这个跟给多少没关系吧,只要一直开着终端就不会停
    plutome
        55
    plutome  
       10 天前
    @gaifanking

    https://linux.weixin.qq.com/ 早就有官方微信可用了
    rodemon
        56
    rodemon  
       10 天前
    已经用 manjaro/archlinux 5 、6 年了,这个星期想换回 win11 。刚好看到这个~

    1. linux 体验
    全栈研发都没问题。vscode 配相应的命令可以开发任何东西,最近一年微信官方也出了客户端也没问题。日常用的:qq 、迅雷、clash verge 、翻译( pot )、截图( flameshot )、wireshark 、滴答、terminator 等,在开放上基本没有完成不了的工作。而且 docker 、极佳的性能/响应体验,也超级舒服、但说开发上比 mac 还舒服。

    2. 为什么想换回 windows ?(还没换)
    最近在开发 c++ qt ,然后他给我升级了 qt6 、系统的几个应用就打不开了(依赖旧一点)。因此,我只能被迫全系统更新...(但其实我还不想更新,尤其是 python 更新的话、venv 有时候也需要更新,我更倾向于能用的环境)

    因此我觉得,这是 Linux 和 Windows 的设计区别:Linux 会倾向于共用一套依赖/库文件(当然最新的 AppImage 打包的应用貌似已经运行很独立了,但很多应用还是没有这种打包文件),而 Windows 会更倾向于每个应用独立、臃肿的运行文件。

    而我现在更倾向于各个应用独立、稳定运行,即使是牺牲一点效率。


    3. 题外话
    archlinux 的包管理我觉得是比 yum 和 apt 都舒服的,很舒服。但是每次都令我抓狂的是滚动更新,这个我近几年已经关闭了。最早的一次自动滚动更新,直接把驱动都滚挂了....就挺抓狂的。然后后面也会因为 软件更新、新软件下载等,需要全系统更新,而每一次全系统更新都很紧张,担心哪个软件在最新的系统中就不兼容了...

    另外就是软件兼容其实还是永远的 “慢一步” ~ 这个如果爱折腾、能接受、其实也还 ok 。

    比如说:剪视频是没有软件的(达芬奇可以、但是不会用...),企业微信是没有的,visio 是没有的(可以用 drawio 替代)、trae 是没有的(可以用 vscode+cline ,感觉不错)...等等吧。

    反正就是:人有他没有,人无他更无。
    BlueSkyXN
        57
    BlueSkyXN  
       10 天前
    Ubuntu ✖️
    Mac ☑️
    Latin
        58
    Latin  
       10 天前
    WinBoat:在 Linux 上运行 Windows 应用( Docker 套娃)
    null2error
        59
    null2error  
       10 天前
    你这个断开,具体是什么表现?
    有没有可能。。。只是 SSH 断了?
    从 Windows 终端 ssh 到 WSL 上去吗?还是直接 VSC 远程开发的?

    SSH 保活设置了吗?
    CodeY99
        60
    CodeY99  
    OP
       10 天前
    @null2error 是 vscode 远程开发。感觉好像和 ssh 没关系。断开感觉 vmmem 内存和 CPU 就上去了。
    我现在让 AI 优化了一下当前配置。内存设置为 12G ,然后 Swap 不限制,关了一下试验特性。再观察两天,不行就换 Ubuntu 了。
    woshishui2022
        61
    woshishui2022  
       10 天前
    @CodeY99 会导致 win 卡顿;你现在是内存不够,他们是内存有冗余,不一样;
    我之前 wsl + vscode + chrome + wps 那真是卡的头疼,最后还是加内存条解决的。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2327 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 15:26 · PVG 23:26 · LAX 07:26 · JFK 10:26
    ♥ Do have faith in what you're doing.