You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无Docker Desktop,如何为WSL2中Docker容器增加分配内存?

解决WSL2无Docker Desktop时Docker容器内存不足的方案

一、先调整WSL2虚拟机的内存配额

Docker在WSL2环境中直接使用WSL虚拟机的资源,所以首先要确保WSL本身有足够内存:

  • 关闭所有WSL实例:打开Windows PowerShell,执行 wsl --shutdown
  • 在Windows用户目录(C:\Users\<你的用户名>)下创建或编辑 .wslconfig 文件,写入以下配置(按需修改数值):
    [wsl2]
    memory=8GB  # 建议设置为主机内存的一半以上,比如主机16G就设8-12G
    processors=4  # 可选,同时分配更多CPU核心,提升Yocto编译速度
    swap=4GB  # 可选,增加交换空间,进一步缓解内存压力
    
  • 重新启动WSL:在PowerShell中执行 wsl 进入Ubuntu环境

二、为Docker容器指定内存限制

方法1:启动容器时手动指定

启动容器时通过 --memory 参数直接分配内存,示例命令:

docker run -d --memory=6GB --name your-yocto-container your-yocto-image

注意:这里设置的内存不能超过WSL2虚拟机的内存配额,避免资源冲突。

方法2:修改Docker daemon配置(永久生效)

如果需要所有容器默认使用更高内存,可修改Docker守护进程配置:

  • 在WSL的Ubuntu系统中,创建或编辑 /etc/docker/daemon.json 文件,添加以下内容:
    {
      "memory": 6144000000  # 6GB,单位为字节,可按需调整
    }
    
  • 重启Docker服务使配置生效:
sudo systemctl restart docker

额外提示:Yocto Project编译对内存、CPU要求极高,除了调整内存,还可以通过Yocto的 BB_NUMBER_THREADS 和 PARALLEL_MAKE 变量控制编译并行数,避免过度占用资源导致OOM。

内容的提问来源于stack exchange,提问作者Preeti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 13:18:06