docker - wsl2上的docker非常慢
问题描述
在阅读了关于在 wsl2 上运行 Docker 时的性能改进后,我一直在等待支持 wsl2 的 Windows 10 的正式发布。我更新了 Windows 和 Docker 并打开了 Docker 标志以使用 wsl2,并希望能够提高在 Docker 容器中运行的 Oracle 数据库的性能,但不幸的是,这种变化大大减慢了容器和我的笔记本电脑的速度。容器的性能大约慢了 10 倍,我的笔记本电脑在启动容器时几乎卡住了。似乎内存消耗会完全用完我的 8GB,并且开始发生大量内存交换。我可以做些什么来提高 Docker 在 wsl2 上的性能,或者至少可以更好地了解我的设置中出了什么问题?
我的环境:
- 处理器 Intel(R) Core(TM) i7-2620M CPU @ 2.70GHz, 2 Core(s)
- 安装的物理内存 (RAM) 8.00 GB
- Microsoft Windows 10 专业版 10.0.19041 内部版本 19041
- Docker 版本 19.03.8,构建 afacb8b
解决方案
这来自“vmmem”,它消耗尽可能多的资源。要解决这个问题,只需为我转到您的用户文件
C:\用户\用户名
在此目录中创建一个名为“ .wslconfig ”的文件,您将在其中配置可以使用 WSL2 的资源数量:
[wsl2]
memory=900MB #Limits VM memory in WSL 2 to 900MB
processors=1 #Makes the WSL 2 VM use one virtual processors
现在关闭你的泊坞窗并等待“vmmem”在任务管理器中关闭。
然后您可以重新启动 docker,通常“vmmem”不会超过您设置的限制(此处为 900MB)如果不起作用,请重新启动计算机。
我希望它对你有所帮助。
推荐阅读
- tinybutstrong - Onformat 的多个参数
- php - 如何从将内容添加到单个帖子模板的过滤器中省略特定帖子?
- html - 为什么调整导航栏大小时我的图像消失
- dialogflow-es - 如何使用 actions-on-google 包的“dialogFlow”模块创建我自己的 DialogFlow 实现网络挂钩?
- vba - VBA-复制没有特定列的行
- excel - 如何使用带有选项显式的命名常量?
- statsd - 在 datadog 中重命名指标的最简单方法是什么?
- python - 使用 PYMC3 的跟踪图跟踪各个维度?
- angular - Nativescript ImageSource toBase64String 输出 null
- ms-access - 插入/追加多个记录,每个记录递增 1,从最大预先存在的开始