Docker Desktop 的资源节省模式

Resource Saver 是 Docker Desktop 版本 4.24 及更高版本中提供的一项新功能。它显著减少了 Docker 主机上的台式机 CPU 和内存利用率降低 2 GB 或更多,由 在没有容器时自动停止 Docker Desktop Linux VM 运行一段时间。默认时间设置为 5 分钟,但可以根据您的需要进行调整。

在资源节省模式下,Docker Desktop 在空闲时使用最少的系统资源,因此 让您节省笔记本电脑的电池寿命并改善您的多任务处理 经验。

如何配置 Resource Saver

Resource Saver 默认处于启用状态,但可以通过导航到 Settings 中的 Resources 选项卡来禁用。您还可以配置 idle timer 中,如下所示。

Resource Saver Settings

如果可用值不足以满足您的 需要,您可以将其重新配置为任何值,只要该值大于 30 秒,通过 在 Docker Desktop 文件中进行更改(对于 Docker Desktop 版本 4.34 及更早版本):autoPauseTimeoutSecondssettings-store.jsonsettings.json

  • 苹果电脑:~/Library/Group Containers/group.com.docker/settings-store.json
  • 窗户:C:\Users\[USERNAME]\AppData\Roaming\Docker\settings-store.json
  • Linux的:~/.docker/desktop/settings-store.json

重新配置后,无需重启 Docker Desktop。

当 Docker Desktop 进入 Resource Saver 模式时:

  • 叶子图标显示在 Docker Desktop 状态栏以及 系统托盘。下图显示了 Linux VM CPU 和内存利用率的降低 当 Resource Saver 模式打开时,将 set 设为零。

    Resource Saver Status Bar
  • 不运行容器的 Docker 命令(例如列出容器镜像或卷)不一定会触发退出资源节省程序模式,因为 Docker Desktop 可以提供此类命令,而不会不必要地唤醒 Linux VM。

注意

Docker Desktop 会在需要时自动退出 Resource Saver 模式。 导致退出 Resource Saver 的命令需要更长的时间来执行 (大约 3 到 10 秒),因为 Docker Desktop 会重启 Linux VM。 它通常在 Mac 和 Linux 上更快,而在使用 Hyper-V 的 Windows 上则较慢。 重启 Linux VM 后,后续容器运行将照常立即进行。

资源节省模式与暂停

Resource Saver 的优先级高于旧的 Pause 功能。 这意味着当 Docker Desktop 处于 Resource Saver 模式时,手动暂停 Docker Desktop 是不可能的(也没有意义,因为 Resource Saver 实际上会停止 Docker Desktop Linux VM)。一般来说,我们建议保留 启用资源节省程序,而不是禁用它并使用手动暂停 功能,因为它可以更好地节省 CPU 和内存。

Windows 上的资源节省程序模式

Resource Saver 在具有 WSL 的 Windows 上的工作方式略有不同。而不是 停止 WSL VM,它只会暂停 WSL 发行版中的 Docker 引擎。这是因为在 WSL 中只有一个 Linux VM 共享,因此 Docker Desktop 无法停止 Linux VM(即 WSL Linux VM 不归 Docker Desktop 所有。因此,Resource Saver 降低 WSL 的 CPU 利用率,但不会减少 Docker 的内存 利用。docker-desktop

为了降低 WSL 上的内存利用率,我们建议改用 用户启用 WSL 的功能,如 Docker Desktop WSL 文档中所述。最后,由于 Docker Desktop 没有 在 WSL 上停止 Linux VM,立即退出资源节省程序模式(有 无退出延迟)。autoMemoryReclaim

反馈

要提供反馈或报告您可能发现的任何错误,请在相应的 Docker Desktop GitHub 存储库上创建一个问题: