当前位置: 首页 > web >正文

Windows 系统中扩大 WSL2 的内存限制

要在 Windows 系统中扩大 WSL(Windows Subsystem for Linux)的内存限制,需通过修改全局配置文件 .wslconfig 实现。以下是具体操作步骤及目录位置说明:


📂 ​​操作目录​

配置文件必须位于 ​​当前 Windows 用户的个人目录​​ 下,路径为:

%UserProfile%\.wslconfig
  • %UserProfile% 具体路径示例​​:
    • C:\Users\你的用户名\(如 C:\Users\John\
  • ​文件名称​​:.wslconfig(注意开头有一个点)

🛠️ ​​操作步骤​

  1. ​打开用户目录​

    • 按快捷键 Win + R 打开“运行”窗口;
    • 输入 %UserProfile% 并回车,自动打开资源管理器跳转到用户目录。
  2. ​创建或编辑 .wslconfig 文件​

    • 若目录下无此文件:
      • 右键 → 新建 → 文本文档 → 重命名为 .wslconfig(需显示文件扩展名);
      • 或通过 PowerShell 创建:
        notepad $env:USERPROFILE\.wslconfig
    • 若已有该文件:直接双击用记事本打开编辑。
  3. ​写入配置内容​
    在文件中粘贴以下配置(根据需求调整数值):

    [wsl2]
    memory=12GB   # 分配给 WSL 的最大内存,建议不超过物理内存的 70%
    swap=4GB      # 交换空间大小,用于内存不足时缓冲
    processors=4  # 分配给 WSL 的 CPU 核心数(如 8 核 CPU 建议 ≤6)

    💡 ​​参数说明​​:

    • memory:​​必须设置​​,否则 WSL 默认仅用 50% 物理内存,易导致编译崩溃(如 LAMMPS 或 CUDA 项目);
    • processors:限制 CPU 核心可避免资源争抢;
    • swap:预防内存不足(OOM)错误。
  4. ​重启 WSL 使配置生效​

    • 管理员身份打开 PowerShell 或 CMD,执行:
      wsl --shutdown  # 强制关闭所有 WSL 实例
    • 重启 Linux 终端(如 Ubuntu)即生效。

⚠️ ​​关键注意事项​

  1. ​权限问题​

    • 若无法直接创建点开头的文件:
      • 先用记事本保存为普通文本文件(如 wslconfig.txt),再重命名为 .wslconfig
      • 或在 PowerShell 中执行:
        New-Item -Path $env:USERPROFILE -Name ".wslconfig" -ItemType "File"
  2. ​配置验证​

    • 在 WSL 终端内运行以下命令检查内存是否生效:
      free -h  # 查看“Total”列是否匹配设置值
      nproc    # 查看 CPU 核心数
  3. ​路径避坑​

    • ​禁止​​在 C:\Windows\C:\Program Files\ 等系统目录操作;
    • ​禁止​​在 WSL 内部的 Linux 路径(如 /home/)中创建此文件。

🧪 ​​配置示例与效果​

​配置文件内容​​WSL 内验证命令​​预期输出​
[wsl2]
memory=12GB
processors=4
free -hMem: 12Gi(总内存 12GB)
nproc4(CPU 核心数)

📌 ​​重要提示​​:若需运行 Docker Desktop 或 CUDA 项目(如 LAMMPS 分子动力学模拟),建议 memory 至少设为 8GB,否则可能因 OOM 失败。


通过以上步骤,WSL 即可突破默认内存限制,显著提升编译与计算任务的稳定性。若仍遇资源不足,可逐步增加 memory 值(如 16GB)并重启验证。

http://www.xdnf.cn/news/14469.html

相关文章:

  • YSYX学习记录(九)
  • 2026 AAAI 投稿要求
  • vscode-monitor-pro | 提升开发效率的利器
  • 【递归】两两交换链表中的节点(medium)
  • Oracle03-PL/SQL Developer
  • 深入解析Jersey框架及其与Spring MVC的核心差异
  • linux多线程之互斥锁
  • 影视剧学经典系列-梁祝-《吕氏春秋·应同》
  • 零基础学前端-传统前端开发(第四期-JS基础-语法,语句)
  • Git+Jenkins-Docker搭建企业级CI/CD平台
  • 电阻篇---上拉电阻的取值
  • Java 中的 JSON 转换
  • 《深度剖析:SCSS中混入(Mixin)为浏览器前缀赋能》
  • LeetCode 第78题:子集
  • android CALL 之 RIL、TELEDCOM、PHONE
  • 详细讲解BUUCTF-ciscn_2019_n_1
  • 6.11小测(html、css)
  • 【数据结构中哈希函数与哈希表】
  • 中国风系列简约淡雅通用PPT模版分享
  • 【Linux手册】进程的状态:从创建到消亡的“生命百态”
  • K8s集群平台
  • MySQL事务:从原理到实践
  • Elasticsearch9 + 通义大模型实现语义检索操作详解
  • LoRA核心公式
  • 语言模型是怎么工作的?通俗版原理解读!
  • 2.1 Windows VS2019编译FFmpeg 4.4.1
  • Qt QComboBox下拉多选
  • 【项目】仿muduo库one thread one loop式并发服务器前置知识准备
  • OmniMeetProTrack 全维会议链智能追录系统——山东大学软件学院创新实训项目博客(六)
  • 机器学习实验报告4-Logistic 回归算法