com.docker.hyperkit 中的 docker for mac 内存使用

wil*_*des 70 memory-leaks docker docker-for-mac

我在 MacOS Mojave 上运行 docker 桌面社区 2.1.0.3。我已经为 Docker 分配了 8GB 的​​内存,这看起来已经很多了(这是我 RAM 的一半)。不知何故,即使在退出然后再次启动 Docker for Mac(这意味着没有容器正在运行)之后,docker 已经超过了 1GB 的内存分配。

没有容器运行的 docker 的预期内存使用量是多少?docker for mac 或 docker's hyperkit 中是否存在内存泄漏?

在此处输入图片说明

docker for mac 内存泄漏

jbi*_*ick 54

正如@GabLeRoux 在评论中分享的那样,“真实内存”的使用量远低于您在活动监视器的“内存”列中看到的内容。

本文档彻底解释了 Mac OS 上使用 Docker Desktop 的内存使用情况,并从那里摘录了信息。

要查看 Docker 使用的“Real Memory”,请右键单击 Activity Monitor 中的列名称并选择“Real Memory”。此列中的值是当前物理分配给 com.docker.hyperkit 的值。

在此处输入图片说明

  • 就我而言,hyperkit 占用 14.26GB 内存和 114MB 实际内存。kernel_task占用11.44GB实内存。当我停止 hyperkit 时,kernel_task 下降到 7.8GB (14认同)
  • 我的风扇仍然疯狂旋转,我的笔记本电脑甚至慢得多。 (7认同)
  • 好的。问题的解决办法是什么?如果启动 docker 挂起系统,应用程序就会冻结。停止 docker 效果很好。是的,活动监视器界面中存在内存差异。我所看到的是“com.docker.hyperkit”价值巨大 (3认同)
  • 如果 hyperkit 消耗的实际内存明显低于分配的内存,您可以将 Docker Desktop 配置为使用更接近实际使用内存的量。 (3认同)
  • 转到 Docker 桌面 > 首选项 > 资源。在此页面中,您可以将“内存”和“交换”使用率设置为远低于默认值。 (3认同)
  • 所以答案是“不用担心”? (2认同)
  • @yudhiesh ..是的,Docker 是臃肿的软件。我有一台新的 Intel Macbook Pro,如果我运行 Docker Desktop 和容器,它将在一个小时左右耗尽我的电池,并且它会使用我所有的系统资源。我希望它在 Apple Silicon 上运行得更好。 (2认同)
  • Docker 并不是“臃肿软件”,仅仅因为它是资源密集型的。macOS 上的 Docker Desktop 需要额外的虚拟化层,因为根据定义,底层主机操作系统不是 Linux。任何在 macOS 上使用 Docker 多年的人都可以告诉你,这一切都在逐年进步。 (2认同)

Ada*_*dam 37

替代答案:我减少了 CPU 数量,并且允许 Docker 在 Docker 资源首选项中使用内存。我的电脑现在运行得更快、更安静。

我刚刚将其落实到位,所以时间会证明这个解决方案是否适合我。在它使我的计算机内存耗尽之前。现在已经明显减少了。

感谢您对真实记忆的注释。我将其添加到我的活动监视器中。

更新:已经过去几天了,我的计算机运行速度远低于最大内存,我的风扇运行速度最低(如果有的话)。

Docker 资源

Mac 内存活动

Mac 内存使用情况

  • 这就是我真正想要的。我的电脑现在已经回到地球了,谢谢! (7认同)
  • 我不知道为什么人们说 Docker 在资源方面比 VirtualBox 更好...这些与 VirtualBox 中的设置相同...限制它们具有相同的效果。 (3认同)