【问题标题】:How to increase WSL/docker container performance on quite common laptop?如何在相当普通的笔记本电脑上提高 WSL/docker 容器性能?
【发布时间】:2020-12-22 19:11:40
【问题描述】:

我有这样的PC配置,与普通笔记本电脑相比应该具有相当正常的性能:

ASUS TUF GAMING A15  
AMD Ryzen 7 4800H  
16GB RAM on 3200 MHz  
SSD  
64b Windows 10

首先,我设置了 WSL2,它相当慢,我意识到 OpenSuse over WSL 可能正在交换,因为处理器有很多内核,但 16GB 还不够。
所以基本上我打开.wslconfig并设置processors=2swap=0,它极大地提高了WSL的性能,可能停止了交换。

  1. 这是个好主意吗?

所以我很高兴地使用了 WSL,但过了一段时间,我需要安装 VMware 来测试一些功能,它一直工作到第一次重新启动虚拟机,之后我意识到我不能同时使用 WSL和 VMware 在 1 个系统上,因为 VMware 希望我禁用 WSL 所需的 Windows 上的某些选项。 (我认为这与虚拟化有关)

但是在使用 VMware 之后,我再次使用了 WSL,发现它的速度要慢得多。我检查了 git 的更改,我重建了所有内容,我恢复到以前的版本,但它仍然比以前慢得多。我当时需要开始使用 docker 容器(由于不同的原因),它一开始运行得很快,所以我没有太在意。但后来我意识到有些操作运行得很慢,我不知道为什么。然后我意识到它一定是那个VMware,所以我卸载了它,WSL变得更快,只有WSL,但docker容器的缓慢仍然存在。

当我检查任务管理器时,CPU 和磁盘似乎完全正常,内存似乎也很好。所以我猜docker容器可能没有使用所有可用资源?任务运行 30 分钟,而不是直接在类似 PC 上运行的 10 秒,没有 docker 容器,差别很大......

在 docker 容器中运行任务之前:

在 docker 容器中运行任务时:

  1. 如何设置 VSCode 以使 docker 容器使用更多资源,并且运行任务几乎与不在 docker 容器中运行它一样快?
    我意识到它可能与 Antimalware Service Executable 进程有关,它运行任务时占用大约 5% 的 CPU 并使用 Microsoft Defender Antivirus Service 服务。这可能是问题吗?如果是这样,如何以最少干扰的方式为运行它的 docker 容器或 VSCode 添加异常? 禁用实时保护只会减少其 5% 的 CPU 使用率,但不会使容器任务更快。

我打电话给docker stats,它实际上几乎没有使用任何资源,请参阅:

【问题讨论】:

    标签: docker visual-studio-code vmware windows-subsystem-for-linux antimalware


    【解决方案1】:

    在 WSL2 上对 linux 文件系统“/home/yourdir”进行开发

    如果您在“/mnt/c/yourdir”之类的 Windows 文件系统上进行开发,

    Windows文件(nstc)和linux文件(extf)内部相互转换文件格式。

    查看其他文章。

    docker on wsl2 very slow

    【讨论】:

    • 本周晚些时候会去看看。
    猜你喜欢
    • 1970-01-01
    • 2018-11-02
    • 2023-01-03
    • 2011-01-14
    • 2020-09-27
    • 2018-06-20
    • 1970-01-01
    • 2012-12-30
    • 2019-11-21
    相关资源
    最近更新 更多