【问题标题】:Windows 10 docker-compose takes 100% disk usageWindows 10 docker-compose 占用 100% 磁盘使用率
【发布时间】:2020-04-06 02:24:34
【问题描述】:

Docker 在 Windows 10 上非常慢。我执行了很多任务以使索引不在文件夹上运行,并试图加快速度。该进程似乎占用了 100% 的 CPU,这很好,但也占用了 100% 以上的磁盘 IO,这是一个巨大的瓶颈。在 linux 或 mac 上运行不到 10 秒的任务在 Windows 上需要 40 分钟以上才能完成。

这根本无法以任何有意义的方式使用。 docker-compose 坚持将 150MB/s 写入磁盘而不是使用 ram 是否有原因?我有很多公羊。我实际上可以将整个 docker-container 系统存储在 ram 中,并且剩余大约 10GB。

顺便说一句,虽然坚持 docker 只在 Linux 上运行服务器是可行的,但开发必须支持 windows、linux 和 mac。我不敢相信测试并没有显示 Windows 10 支持严重缺乏,不,关闭防病毒绝对不是一种选择。许多 docker 开发人员没有这样做的适当权限,建议 docker 用户禁用防病毒是一个令人难以置信的请求。另外,禁用杀毒之类的仍然无法回答为什么 docker 会占用 100% 的磁盘 IO。

【问题讨论】:

  • 我遇到了同样的问题。什么都没有。
  • 我遇到了同样的问题,但我注意到在阻塞模式下运行“没有 -d”可以解决这个问题(快速执行和平静的磁盘 IO)。我怀疑这可能是日志记录问题,但我不确定
  • 可能是由于您的文件在 WSL 挂载之外github.com/microsoft/WSL/issues/4387

标签: docker docker-compose disk-io


【解决方案1】:

我最近使用 Hyper-V 更新到 Docker Desktop for Windows 3.0.0 时遇到了同样的问题。

我的解决方案是增加 VM 可用的资源(设置 -> 资源 -> 高级)。我增加了 CPU(从 2 到 4)、内存(1GB 到 6GB)、交换(1GB 到 2GB)和磁盘空间(64GB 到 128GB)的数量。从那以后,我再也没有遇到过 100% 磁盘使用问题。

【讨论】:

  • 太棒了!这就是答案。
【解决方案2】:

所以最近我遇到了同样的问题。我将 Docker 与 DDEV 一起用于 Drupal 开发环境。运行composer require drupal/something 需要很多小时才能完成。我在Why is PHP Composer so slow? 上尝试了一些故障排除项目。具体来说,运行和使用composer global require hirak/prestissimo。至少这实际上运行了。这是有希望的。然而,它并没有解决问题。我尝试按照Spiceworks: Docker for windows reach 100% disk usage after win 10 in-place update 的建议卸载重新安装的 DDEV 和 Docker。这也没有奏效。我决定在容器外尝试ddev composer install,而不是在容器内尝试composer install。 Composer 给了我错误:This host computer is unable to create real symlinks, please see the docs to enable developer mode: 打开windows development mode,composer 开始正常工作。

解决方案: 打开 Windows 开发者模式,以便使用系统链接。

希望对大家有所帮助!

【讨论】:

    【解决方案3】:

    我在 Windows 10 上遇到了这个问题,条件如下:

    1. 启动 Jenkins 容器。
    2. 从 Jenkins 上的 Git 存储库为项目设置 Maven 构建。
    3. 运行构建。

    构建完成就好了。

    1. 使用 Sonarqube 启动第二个容器。
    2. 向 Jenkins 添加步骤以执行声纳分析并运行构建。

    Jenkins 构建在一段时间后挂起,磁盘使用率 99-100%,CPU 很好。 Docker 不响应任何控制台命令。

    必须重新启动 Docker 才能解决此问题。

    【讨论】:

      猜你喜欢
      • 2015-03-23
      • 2018-05-25
      • 2018-03-17
      • 1970-01-01
      • 2017-01-16
      • 1970-01-01
      • 2014-12-20
      • 2018-12-21
      • 1970-01-01
      相关资源
      最近更新 更多