提升WSL中Ubuntu编译速度的完整指南

WSL2环境下AOSP编译全流程优化指南 Linux子系统(WSL)是Windows平台上运行Linux环境的革命性技术,其第二代架构WSL2通过轻量级虚拟化实现了接近原生的性能。在Android系统开发领域,AOSP(Android开源项目)编译需要高效的I/O操作和并行计算能力,WSL2相比传统虚拟机方案能提供3-5倍的磁盘访问速度提升。通过合理配置内存分配、优化文件系统挂载方式以及使用ccache编译缓存等技术手段,开发者可以在Windows平台上获得接近Linux主机的开发体验。本文以Android 13源码编译为例,详细解析如何利用WSL 阅读详情
AI摘要

在WSL中使用Ubuntu编译项目慢,常见原因及解决方案有:解决文件系统性能问题,将源码放Linux文件系统;禁用实时杀毒或索引服务;用WSL2替代WSL1;启用更多CPU和内存资源;并行编译;更新WSL和Ubuntu。还给出测试建议。

在 WSL(Windows Subsystem for Linux)中使用 make 编译项目时,如果发现编译速度非常慢,通常是由以下几个原因导致的。以下是一些常见的排查和优化方法:


🔍 一、常见原因及解决方案

✅ 1. 文件系统性能问题(最常见)

WSL 对 挂载在 /mnt/ 下的 Windows 文件系统(如 NTFS)访问性能较差,尤其是大量小文件的读写操作(例如编译过程中的临时文件生成、频繁 IO 操作)。

📌 解决方案:
  • 将源代码放在 WSL 的 Linux 文件系统中,而不是 Windows 挂载目录下。

    示例路径:

    # 推荐位置:位于 WSL 根文件系统内
    ~/myproject
    /home/yourname/myproject
    

    ❌ 不推荐路径:

    /mnt/c/Users/yourname/myproject   # 来自 Windows 盘符
    

✅ 2. 禁用实时杀毒软件或索引服务

Windows 的防病毒软件(如 Windows Defender)会对 WSL 中的文件访问进行扫描,显著影响性能。

📌 解决方案:
  • 添加 WSL 的项目目录到防病毒软件的排除列表。
  • 或者临时禁用防病毒软件测试是否有效果。

✅ 3. 使用 WSL2 而不是 WSL1

如果你还在使用 WSL1,它虽然兼容性好,但文件系统桥接较慢;而 WSL2 使用虚拟化技术,原生 Linux 内核,对编译更友好。

📌 查看当前 WSL 版本:
wsl --list --verbose
📌 设置默认版本为 WSL2:
wsl --set-default-version 2
📌 将已有 Ubuntu 分发版升级为 WSL2:
wsl --set-version Ubuntu 2

✅ 4. 启用更多 CPU 核心 / 内存资源

默认情况下,WSL2 可能只分配了部分 CPU 和内存资源,可以手动设置限制。

📌 创建 .wslconfig 文件(在 Windows 用户目录下):
[wsl2]
memory=8GB
processors=4

然后重启 WSL:

wsl --shutdown
wsl

✅ 5. 并行编译(启用多线程)

确保你使用的是并行编译方式,比如:

make -j$(nproc)

或者指定具体线程数(例如 4 核):

make -j4

✅ 6. 更新 WSL 和 Ubuntu

确保你的 WSL 和 Ubuntu 是最新版本:

升级 WSL:
wsl --update
升级 Ubuntu 包:
sudo apt update && sudo apt upgrade -y

🧪 二、测试建议

你可以通过下面命令快速测试一下 WSL 的文件 I/O 性能:

dd if=/dev/zero of=testfile bs=1M count=100 oflag=direct
rm testfile

也可以测试 /tmp 和 /mnt/c 的性能差异,确认是否是文件系统的问题。


📝 三、总结优化建议

问题点建议
文件系统慢使用 WSL2 + 放在 Linux 文件系统中
防病毒干扰排除项目路径
编译效率低使用 -j$(nproc) 并行编译
资源不足配置 .wslconfig 增加内存和 CPU
WSL 版本旧更新到 WSL2

wsl编译linux慢,在 Windows 中使用 WSL 编译 Linux 和 U-Boot By Toradex胡珊逢1).简介通常当编译Linux、U-Boot相关源代码时,由于编译工具或者文件系统限制,这些任务需要在Linux发行版中完成,如常见的Ubuntu、Fedora、Linux Mint、Arch Linux等。在电脑安装双系统,或者虚拟机,是使用Linux发行版的主要方式。Windows推出的WSL(Windows Subsystem for Lin... 阅读详情

相关推荐

WSL2 完全指南:在 Windows 上搭建 Ubuntu 开发环境的最佳实践

在本地开发中,同时使用 Windows 与 Linux 环境常导致效率瓶颈。传统虚拟机方案虽能提供完整的 Linux 系统,却会占用大量内存并拖慢启动速度。作为微软提供的轻量级兼容层,WSL(Windows Subsystem for Linux)采用系统调用翻译或轻量级虚拟化技术,在 Windows 内核中直接运行 Linux 发行版,兼顾性能与资源占用。对于需要频繁操作 Linux 命令、部署 Docker 容器或使用 VSCode 远程开发的工程师与学生来说,WSL2 搭配 Ubuntu 提供了近乎原

weixin_34152820的博客 604

【wsl】windows下环境读写编译很慢,切换为wsl1

【代码】【wsl】windows下环境读写编译很慢,切换为wsl1。

daddykei的博客 1324

AOSP编译效率提升指南:如何用WSL2+Ubuntu 20.04快速搭建Android 13开发环境

本文详细介绍了如何利用WSL2与Ubuntu 20.04高效搭建AOSP开发环境,特别针对Android 13的编译需求进行优化。通过WSL2性能调优、Ubuntu系统配置、AOSP代码管理及编译参数调整等步骤,显著提升编译效率,帮助开发者快速构建Android开发环境。

weixin_29246195的博客 151

【ESP32学习笔记】--通过WSL提高在Windows下编译IDF的速度

乐鑫IDF物联网开发框架在win+vscode下的使用体验还不错,但是有一个很大的问题就是编译的速度实在是太慢了,我自己用的一台 i5-6200U的笔记本编译一个helloworld工程需要7分钟左右,编译一些大一点的工程要十几分钟。那有没有一种办法提高编译速度呢?有!!!那就是在Linux环境下使用IDF,乐鑫官方就是推荐在Linux下安装使用IDF,编译速度会更加快。但是又不想安装双系统,来回切换太麻烦了,好像可以用虚拟机,但也是很慢还耗资源,这时候微软的WSL就派上用场了。在WSL中编译hellowo

RuiyaoNi的博客 5478

为什么要在windows11上用WSL2 安装ubuntu

简单来说,WSL2 是 Windows 11 对 “跨系统协作” 的最优解之一 —— 它让你不用离开熟悉的 Windows 界面,就能拥有一个功能完整、高效且易用的 Linux 环境,几乎没有使用成本,却能解决大量实际需求。,尤其适合开发者、运维人员或需要跨系统工具的用户。在 Windows 11 上通过 WSL2 安装 Ubuntu,本质上是为了。

家门口的知鸟 940

WSL2部署Ubuntu 22.04与Docker的深度适配指南

WSL2并非传统Linux虚拟机,而是基于Hyper-V的轻量级Linux内核实例,其核心特性在于命令行集成性与性能优化,而非完整服务器兼容性。理解其‘Linux兼容层+根文件系统’混合架构,是解决DNS异常、systemd失效、Docker启动失败等高频问题的前提。技术价值体现在开发环境无缝协同——Windows与Linux工具链可低延迟互通,尤其适合AI本地开发(如Dify、DeepSeek)、全栈调试与容器化验证。典型应用场景包括:前端localhost服务跨端调试、Python/Node.js多语言

weixin_34161064的博客 431

Win10 WSL编译Android开启ccache(提高编译速度)(十三)

本篇目的:Win10 WSL编译Android开启ccache(提高编译速度)

Android系统攻城狮 2580

WSL部署Ubuntu运行vLLM推理框架实践指南

大语言模型推理框架vLLM结合CUDA加速技术,能够在GPU上实现高效的文本生成。通过Windows Subsystem for Linux(WSL)运行Ubuntu系统,开发者可以在Windows环境下获得接近原生Linux的性能表现。这种技术方案特别适合需要在本地快速验证模型效果的场景,如算法开发、NLP研究等。WSL2对NVIDIA显卡的良好支持使得在RTX 3090等设备上运行7B参数模型时,推理速度可达每秒50+ tokens。本文详细介绍从环境配置到性能优化的完整流程,包括CUDA环境搭建、vL

weixin_34208185的博客 453

WSL下编译使用大量内存导致卡死

WSL环境下用Pytorch即时编译CUDA文件,内存占用极高,导致编译失败。 解决方法:可以采用单线程编译,或者适当减少线程数量。

C_C666的博客 1851

Windows11 WSL2与Ubuntu20.04部署优化指南

WSL2(Windows Subsystem for Linux 2)是微软推出的Linux子系统技术,通过在Windows内核中实现轻量级虚拟化,提供接近原生Linux的性能体验。其核心原理是利用Hyper-V虚拟化平台创建轻量级虚拟机,相比传统虚拟机节省了资源开销。这项技术特别适合需要跨平台开发的场景,例如后端服务开发、数据科学计算等。在Windows11环境下部署WSL2并安装Ubuntu20.04 LTS,可以搭建高效的开发环境。通过合理配置.wslconfig文件优化资源分配,使用清华源加速软件安

weixin_34200628的博客 460

【WSL】--- 优化 WSL —— 让你的 Linux 室友不卡不炸,安静干活!

在编程的艺术世界里,代码和灵感需要寻找到最佳的交融点,才能打造出令人为之惊叹的作品。而在这座秋知叶i博客的殿堂里,我们将共同追寻这种完美结合,为未来的世界留下属于我们的独特印记。

秋知叶i 888

linux和windows编译速度,[多图]Windows、WSL 与 Linux 的性能对比

测试的系统版本为:Ubuntu 18.04.3 LTSUbuntu 19.10Windows 10 18362Windows 10 18362 WSLWindows 10 19008 WSLWindows 10 19008 WSL2Windows 10 19008所有的 Windows/Linux WSL 性能基准测试均基于以下硬件环境:MSI X299 SLI PLUS 主板Intel Core...

weixin_30357183的博客 1736

FPGA时序约束--实战篇(读懂Vivado时序报告)

本文将详细介绍如何读懂Vivado时序报告,包括报告的基本结构和如何分析报告。

mengzaishenqiu的博客 1万+

TeX Live 2025 WSL2 部署指南:Linux 子系统编译速度提升 5 倍实测

本文详细介绍了在WSL2环境中部署TeX Live 2025的完整指南,实测显示相比原生Windows环境,LaTeX编译速度提升高达5倍。内容涵盖环境配置、安装优化、VSCode集成及性能对比,为科研人员和学生提供高效解决方案。

anjichan4261的博客 454

第零章 序 Chisel教程汇总

笔者目前西安交通大学微电子硕士在读,研究方向为数字集成电路设计与体系结构。鉴于目前RISC-V的火热程度,笔者参与了课题组的RISC-V项目,并了解、学习了颇受关注的新型硬件构建语言——Chisel,当前参与的神经网络加速器设计便是使用Chisel开发的。这是一门敏捷开发语言,据称要比传统的Verilog语言快很多。在亲身使用过后,笔者发现确实快了不少。这主要得益于Scala作为高级语言的简洁风格...

qq_34291505的博客 7万+

逆向实战:手把手教你分析Google DroidGuard虚拟机的加密与反调试(附Python脚本)

本文深入解析Google DroidGuard虚拟机的加密机制与反调试策略,提供从环境配置到逆向分析的完整实战指南。通过IDA Pro、Frida等工具链,详细剖析DroidGuard的信号拦截、内存校验等保护机制,并附Python脚本实现自动化分析,助力Android安全研究人员突破GMS核心组件的安全防护。

weixin_32428571的博客 313

Win11 WSL2 + Ubuntu 24.04 编译nRF Connect SDK,速度实测是Windows的6倍?

本文详细对比了Win11 WSL2 + Ubuntu 24.04与原生Windows环境在编译nRF Connect SDK时的性能差异,实测显示WSL2环境下编译速度提升近6倍。文章深入分析了文件系统、工具链优化等关键技术因素,并提供了开发环境搭建、USB设备共享及性能调优的实用方案,为嵌入式开发者提供了高效开发环境配置指南。

weixin_29228781的博客 116

Unet++改进33:添加ConvolutionalGLU(2024最新改进方法)|紧凑的网络结构和高效的运算

由于残差连接的深度退化效应,许多依赖堆叠层进行信息交换的高效视觉变形模型往往不能形成足够的信息混合,导致视觉感知不自然。为了解决这个问题,在本文中,我们提出了聚合注意力,这是一种基于仿生设计的令牌混合器,它模拟生物中央凹视觉和连续眼运动,同时使特征映射上的每个令牌具有全局感知。此外,我们结合了可学习的令牌,与传统的查询和键交互,这进一步多样化了亲和矩阵的生成,而不仅仅依赖于查询和键之间的相似性。我们的方法不依赖于堆叠进行信息交换,从而有效地避免了深度退化,实现了自然的视觉感知。

AIcurator的博客 684

wsl2 + vscode + espidf + clangd + clang + lldb windows下最快的编译速度

esp-idf + vscode +wsl2 +clangd +clang +lldb

qq_16118245的博客 3178

灵境视界:基于云计算与深度学习的智能手语识别AR眼镜

灵境视界”不仅仅是一款AR眼镜,它代表了未来无障碍沟通设备的发展方向。随着云计算与深度学习技术的不断进步,未来我们将进一步优化识别算法,提升翻译精度,并扩展更多语言和手语类型,为全球听障人士提供更加全面的沟通解决方案。是一款融合了云计算与深度学习技术的增强现实(AR)眼镜,专为听障人士和手语使用者设计。这款眼镜不仅具备先进的AR显示功能,还能实时识别并翻译手语,打破听障人士与健听人士之间的沟通障碍,推动无障碍社会的建设。,让沟通无界,视界无限。

qq_62634009的博客 725

新手福利!大龙虾OpenClaw可视化管理工具来了!告别命令行,这个可视化工具让OpenClaw管理变得超简单

还在用命令行管理OpenClaw?🚀 这个跨平台可视化工具支持14+AI模型,一键切换,还能对接微信飞书钉钉等8大消息渠道,让AI助手管理变得简单直观 ✅ 暗色主题护眼舒适,Rust后端高性能低占用,新手也能轻松上手 🎯

XiaoqiangClub的博客 760

WSL2环境下高效编译AOSP的实战指南

本文提供了在WSL2环境下高效编译AOSP的完整实战指南。详细介绍了从WSL2与Ubuntu环境配置、核心编译工具安装、源码获取,到编译性能调优(如使用ccache、并行编译)和常见问题解决的全流程。旨在帮助Android开发者在Windows平台上搭建稳定、高效的AOSP编译环境,显著提升开发效率。

qsc90123456的博客 169

回声消除AEC初探

那段保留即可——在播放期间把麦克风关闭(软件层面的 mute),同样能根除回声,只是会失去“一句话期间仍能捕获背景噪声”的能力。如果还有更细节的需求(比如多语言 TTS、实时流式 ASR),欢迎继续交流。的完整示例,可直接拷贝、改造、集成到你现有的 LLM‑TTS 对话系统中。实际效果取决于用户设备的硬件与驱动,若仍有回声,可让用户佩戴。把扬声器信号(把播放音频拷贝给 AEC)从麦克风流中减去。:TTS 播放的声音被同一个麦克风再次捕获,导致声学回声。三种实现示例,帮助你快速落地。,几乎可以消除所有回声。

NLP与推荐算法 571

WSL与VsCode高效调试C++项目的完整指南

本文详细介绍了如何在Windows系统下使用WSL与VsCode高效调试C++项目,包括环境配置、项目设置和调试技巧。通过WSL原生Linux环境和VsCode的强大插件支持,开发者可以享受跨平台开发的便利,提升编译和调试效率。文章还提供了常见问题的解决方案,帮助开发者快速上手。

desk3的博客 1084

Python库CloudScraper详细使用(绕过 Cloudflare 的反机器人页面的 Python 模块)

CloudScraper是一个专门用于绕过Cloudflare反机器人保护的Python库,它基于requests库构建,能够处理Cloudflare的5秒盾、WAF和人机验证等防护机制。

数据知道的博客 1万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Win11 WSL2 + Ubuntu 24.04 真香!实测nRF Connect SDK编译速度是Windows的6倍

本文实测了Win11 WSL2 + Ubuntu 24.04环境下nRF Connect SDK的编译性能,结果显示其编译速度是Windows原生环境的6倍。通过详细对比测试数据和技术分析,揭示了WSL2在文件系统、工具链兼容性和内存管理方面的优势,并提供了完整的开发环境配置指南和优化技巧。

weixin_33738555的博客 409

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

上一篇: Playwright 常用命令、参数详解及使用示例
下一篇: Playwright Python 输入操作指南
未来创世纪
博客等级 码龄18年 960粉丝 209原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值