一个关于"寻找平衡"的故事

三年前,我的工作台很简单:一台轻薄本,轻得几乎感觉不到存在,续航撑一整天,带去图书馆、咖啡厅毫无压力。

但问题是——它跑不动我想做的事情。

深度学习训练?核显看着干着急。Docker 构建一次等半天。开个虚拟机就卡到怀疑人生。我面临的是一个经典困境:轻薄本陪我到处跑,但真正需要干活时,它只能在一旁看着。

后来我做了个决定:买台台式机,笔记本继续带着。再后来,我发现了 WSL2。

今天,我想分享这套让我工作更舒服、学习更高效的方案——不是一篇教程,而是这套系统运行一年后的真实体验。


第一部分:为什么是"台式机 + 笔记本"?

让我们先聊聊硬件选择。这不是关于"哪个更好",而是关于"让每个设备做它最擅长的事"。

我的两台设备

设备配置角色定位
台式机Ryzen 5 7500F + RTX 4060 + 32GB RAM算力中心,固定不动
笔记本i5-11320H + 核显 + 16GB RAM移动终端,随身携带

这套组合的成本其实比一台高端游戏本更低,但体验却好得多。

核心思路:分离关注点

想象一下,如果你的手机和电脑是同一台设备——充电时不能带出门,带出门时插着键盘很奇怪。这听起来很荒谬,但我们却经常要求一台笔记本既扛得住 3A 游戏又要轻薄续航。

双设备的核心哲学是承认现实:没有完美的单一设备。

台式机的优势很简单:

  • 性能释放彻底,不用担心散热和续航
  • 可以升级,未来加内存、换显卡都不是问题
  • 屏幕大、键盘好,长期工作不累

笔记本的优势也很明确:

  • 想带去哪就去哪
  • 电池能撑一天
  • 轻到背在身上没感觉

当我不再要求一台设备"什么都行"时,反而找到了真正舒服的使用方式。


第二部分:Windows + WSL2,为什么这么好用?

现在聊聊软件层面。很多人有 Linux 情结,认为"真正的开发者用原生 Linux"。我曾经也是这样想的,直到 WSL2 改变了游戏规则。

WSL2 到底是什么?

简单说,WSL2 就是 Windows 里面跑一个真正的 Linux 虚拟机——不是那种慢吞吞的传统虚拟机,而是和 Windows 内核深度集成的高性能方案。

你可以在 Windows 上:

  • 用 Chrome 看论文、逛 GitHub
  • 用 Office 写文档、做 PPT
  • 玩 Windows 独占游戏

同时,在 WSL2 里:

  • 跑你的 Docker 容器
  • 用 PyTorch 训练模型
  • 用 ROS 做机器人仿真
  • 用 vim/nvim/VS Code 写代码

关键是,两者之间的界限几乎消失了。

一天的工作流是什么样的?

早上起床,我坐在台式机前:

1. Windows 打开 VS Code(安装了 Remote - WSL 插件)
2. 打开的不是 Windows 上的文件夹,而是 WSL2 里的项目
3. 代码运行、调试、训练,全在 Linux 环境里
4. 但界面、快捷键、复制粘贴,全是我熟悉的 Windows

需要看训练曲线?浏览器打开 localhost:6006,TensorBoard 跑在 WSL2,浏览器是 Windows。

需要查资料?Chrome 在 Windows,复制粘贴到终端,无缝衔接。

需要改论文?Word 在 Windows,数据和代码在 WSL2,导出图表直接用。

我没有切换系统,只是在同一个系统里用了不同的工具。


第三部分:台式机 vs 笔记本,到底怎么分工?

这是最容易被问到的:两台设备不会打架吗?代码怎么同步?训练在哪儿跑?

让我分享一下我实际的工作方式。

台式机:算力总部

我的台式机 90% 时间放在书桌上,它的工作内容很明确:

Windows 端负责:

  • 游戏和娱乐
  • 重型软件(CAD、仿真、Adobe 全家桶)
  • 论文写作、PPT 制作
  • 监控训练进度(TensorBoard、wandb)

WSL2 端负责:

  • 深度学习训练
  • Docker 容器
  • 代码编译和测试
  • 长期运行的服务

资源配置是这样的(在 C:\Users\你的用户名\.wslconfig):

[wsl2]
memory=22GB       # 给 Linux 足够内存
processors=10     # 留两个线程给 Windows
swap=8GB          # 防止内存爆了

这样分配的结果:Windows 开游戏、开仿真软件时,WSL2 后台跑训练互不干扰。

笔记本:移动办公室

笔记本的角色完全不同,它更像一个"远程控制台":

Windows 端负责(95% 时间):

  • 上课记笔记
  • 图书馆写论文
  • 咖啡厅改代码
  • 远程控制台式机

WSL2 端负责(偶尔):

  • 改代码、测试小脚本
  • 同步代码仓库
  • 不跑任何重型训练

笔记本的 WSL2 配置很保守:

[wsl2]
memory=6GB        # 够用就行
processors=4      # 留电
swap=4GB

核显笔记本跑 CUDA 本来就慢,不如承认现实:笔记本不负责算力,只负责连接算力。

两台设备如何配合?

我的一天通常是这样的:

在家/实验室:

  • 主力用台式机,笔记本放在旁边当副屏
  • 台式机 WSL2 跑训练,Windows 看论文写文档
  • 需要查资料时,笔记本更方便

外出/上课:

  • 只带笔记本
  • 需要查看台式机训练进度?SSH 远程连上
  • 发现代码有 bug?笔记本改完,git push,台式机 pull

晚上想玩游戏:

  • 台式机暂停训练
  • Windows 直接开游戏
  • 不用重启,不用考虑虚拟机占用资源

第四部分:那些踩过的坑

没有方案是完美的,这套系统也有自己的坑。分享一下我遇到的问题和解决方案。

问题一:文件放哪里很重要

刚开始我把代码放在 Windows 盘,从 WSL2 访问。结果:慢得离谱

后来学乖了,所有代码、数据集、模型权重全放 WSL2 内部。Windows 需要查看时,在文件管理器输入 \\wsl$ 就能访问。

性能差异有多大? Docker 构建从 5 分钟降到 30 秒,不是开玩笑的。

问题二:WSL2 网络偶尔抽风

WSL2 用 NAT 网络,有时候 localhost 访问不了,有时候 VPN 连上后网络全挂。

解决方案:

  • 开发时尽量用固定端口
  • 必要时用镜像网络模式(Windows 11 22H2+ 支持)
  • 实在不行就 wsl --restart

问题三:磁盘空间悄悄被吃掉

WSL2 的虚拟硬盘会自动扩张,但不会自动收缩。删了文件,空间不释放。

定期手动清理:

# 在 PowerShell 里
wsl --shutdown
# 然后进入磁盘管理,压缩 VHD

或者开启自动回收(Windows 11 最新版支持)。

问题四:两台设备的代码同步

最怕的是:台式机改了代码,笔记本不知道;笔记本改了代码,台式机还在用旧版本。

解决方案很简单:Git 作为唯一的真相来源

所有代码必须在 Git 仓库里,两台设备只通过 git 同步,绝不拷文件。虽然多了 push/pull 这一步,但避免了无数次"改错版本"的灾难。


第五部分:这套方案适合谁?

说了一年体验,这套系统不是万能药。它最适合的是这些人群:

✅ 适合:

  • 有固定工作场所(家/实验室/办公室)
  • 需要高性能计算(训练、渲染、编译)
  • 经常外出但不需在外办公
  • 愿意花一点时间设置同步方案

❌ 不适合:

  • 住宿舍、活动范围小(一台高性能本够了)
  • 经常出差、飞来飞去(台式机浪费)
  • 预算紧张(两台设备成本高)
  • 懒得管理多设备(单设备省心)

一个简单的判断标准:如果你的台式机有 30% 时间处于闲置状态,你可能不需要它。


第六部分:一些想说的话

写到这里,我想分享一些超越"技术配置"的思考。

关于"最佳方案"

我见过太多人追求"终极配置",买最贵的硬件、用最复杂的工具链。但我的经验是:让你忘记工具存在、专注于做事本身的方案,才是好方案。

这套双设备 + WSL2 系统,我几乎不用想"在哪个系统"、“用什么设备”。打开就是用,用完就走。

关于"是否值得"

双设备意味着更高的初始成本、更多的维护工作。但它也带来了更舒服的体验、更高的效率。

对我来说,这是值得的。但对其他人?不一定。

最好的办法是:从小规模开始试验。 先试着用 WSL2,再考虑是否需要双设备。循序渐进,别一步到位。

关于"未来"

云服务、远程桌面正在改变这个游戏。也许几年后,我们只需要一个轻薄终端,所有的计算都在云端完成。

但就当下,就 2026 年,台式机 + 笔记本 + WSL2 依然是我能想到的最平衡方案。


最后:一个简单的开始

如果你被这套方案打动,想试试,我建议这样开始:

第一步: 在现有电脑上装 WSL2,感受一下 Linux 和 Windows 共存的体验

第二步: 问问自己,是否有场景需要"移动 + 性能"双需求

第三步: 如果答案是有,考虑添置第二台设备

第四步: 用 Git 同步代码,用远程连接桥接两台设备

不需要一步到位,慢慢来,找到最适合自己的节奏。


些参考资料

如果你想深入了解某个部分,这些文章可能有帮助:


希望这篇文章能帮你找到属于自己的生产力方案。记住:没有最好的配置,只有最适合你的配置。