Mur*_*aji 17 docker docker-for-windows wsl-2 ubuntu-20.04
我最近更新了我的 Docker 环境以WSL 2在 Windows上运行。
为了在以前的版本中设置容器的内存分配限制,我在 Docker 桌面 GUI 下Settings->Resources->Advanced->Preferences可以选择调整内存和 CPU 分配。
我想我应该从现在开始通过我的 Linux 发行版运行所有内容,所以这是我能够找到的解决方案:
docker run -d -p 8081:80 --memory="256m" container_name
Run Code Online (Sandbox Code Playgroud)
我不想每次在运行容器时都设置一个标志。有没有办法永久设置内存分配?
Ale*_*x.H 33
为 WSL2 集成删除了内存和 CPU 设置。但是,从 Windows Build 18945 开始,有一种解决方法可以限制 WSL2 内存使用。
创建%UserProfile%\.wslconfig用于调整 WSL2 设置的文件:
[wsl2]
memory=6GB # Any size you feel like
swap=0
localhostForwarding=true
Run Code Online (Sandbox Code Playgroud)
Get-Service LxssManager | Restart-Service在管理员 Powershell 中运行(或重新启动)并验证vmmem任务管理器中的使用率是否下降。
Jor*_*cia 14
您必须限制 WSL 内存使用...
步骤1
添加/编辑此文件%UserProfile%\.wslconfig并附加以下两行:
[wsl2]
memory=8GB
Run Code Online (Sandbox Code Playgroud)
第2步
之后立即完全关闭,以便 WSL 获取新设置:
$ wsl --shutdown
Run Code Online (Sandbox Code Playgroud)
请在此处查看 Microsoft 提供的其他信息:WSL 中的高级设置配置
实验解决方案(2023 年 9 月更新)
2023 年 9 月的更新添加了对新的选择加入实验功能的支持,包括新的autoMemoryReclaim,它可以通过回收缓存内存来减少使用 WSL VM 时的内存。如果你想尝试一下...
将这个新的实验部分添加到您的%UserProfile%\.wslconfig文件中:
[experimental]
autoMemoryReclaim=gradual
Run Code Online (Sandbox Code Playgroud)
请在此处查看此设置和更多实验性设置:适用于 Linux 的 Windows 子系统 2023 年 9 月更新
| 归档时间: |
|
| 查看次数: |
15177 次 |
| 最近记录: |