Skip to content

WSL 发行版保活 ​

很多刚接触 WSL2 的用户都会遇到一个"困惑":明明安装好了 Linux,为什么一关闭终端,它过一会儿就"自动关机"了?为什么不能一直保持运行?

本文将先描述这个现象,再解释微软为什么这样设计 WSL,最后介绍如何借助 WSL Dashboard 启动一个保活的 Linux 发行版。

1. 现状:关闭终端后,Linux 很快自动关闭 ​

您是否经历过下面的场景:

  1. 打开某个 Linux 发行版的终端,Linux 自动启动,无需执行任何命令;
  2. 关闭终端窗口后,Linux 并不会继续运行——大约 60 秒后,它被自动关闭;
  3. 再次打开终端,Linux 又自动启动,如此循环往复。

NOTE

WSL2 默认的"空闲超时"约为 60 秒:当发行版中没有正在运行的进程(例如您关闭了所有终端)时,WSL 虚拟机会自动关闭,以释放内存等系统资源。

这种行为是 WSL2 的默认设计,既不是故障,也不是错误。

2. 微软为什么这样设计 WSL? ​

2.1 WSL2 本质上是轻量级虚拟机 ​

WSL2 通过 Hyper-V 轻量级虚拟机(utility VM)运行完整的 Linux 内核。每一个正在运行的发行版都会真实占用内存资源。如果所有发行版都常驻后台,一台机器同时运行多个发行版,将白白浪费数百 MB 乃至数 GB 的内存,拖慢整机性能。

2.2 资源按需分配的设计理念 ​

Windows 的设计哲学是"资源按需分配、不用即释放":

  • 对大多数用户而言:打开终端 = 需要 Linux;关闭终端 = 暂时不需要;
  • 只有少数用户才需要 Linux 7×24 小时不间断运行。

因此 WSL 采用"按需启动、空闲即停"的策略,让内存等资源在不需要时自动还给系统。

2.3 类比:离开房间随手关灯 ​

WSL 的"空闲自动关闭"就像离开房间随手关灯:省电、更高效。但对"需要房间一直亮着"的人来说,就很麻烦——这也正是保活需求的由来。

TIP

如果您需要 Linux 常驻运行(例如部署服务、跑定时任务、搭建开发服务器等),请阅读下一章节,使用 WSL Dashboard 让发行版保活。

3. 使用 WSL Dashboard 启动一个保活的 Linux ​

WSL Dashboard 提供了两种简单的方式,让您的 Linux 发行版保持运行。

方式一:点击"启动"按钮 ​

在 WSL Dashboard 的 "已安装的 Linux 发行版" 清单中:

  1. 找到您想要保活的发行版;
  2. 点击该发行版行的 "启动" 按钮。

点击后,发行版立即被唤醒并持续运行,只要您不主动停止它,它就不会因空闲而被自动关闭。这种方式适合"现在就需要 Linux 一直跑着"的临时保活场景。

方式二:勾选"在 Windows 启动时自动启动该发行版" ​

在 WSL Dashboard 的 "已安装的 Linux 发行版" 清单中:

  1. 点击目标发行版行的 "设置" 按钮,打开设置弹窗;
  2. 在弹窗中勾选 "在 Windows 启动时自动启动该发行版";
  3. 保存设置。

勾选后,每次 Windows 开机/登录时,该发行版会自动启动,无需任何手动操作,实现"开机即保活"。这种方式适合需要 Linux 长期在线(如开发服务器、常驻服务)的场景。

TIP

  • 仅临时需要 → 使用方式一(点击"启动");
  • 需要长期在线 → 使用方式二(勾选"在 Windows 启动时自动启动该发行版")。