VSCode——打开大型项目提示 `OOM (Out of Memory)` 的解决方案
一、问题描述最近在使用VS Code Remote SSH开发一个大型 Python 项目时打开工作区后 VS Code 会直接崩溃并弹出如下错误The window terminated unexpectedly (reason: oom, code: -536870904)如下图所示此处可插入 OOM 报错截图一开始怀疑是电脑内存不足但查看 Windows 任务管理器发现内存总容量20 GB已使用约 14 GB剩余可用约 5.5 GB系统本身并没有发生真正的内存耗尽。二、问题分析经过排查发现VS Code 本身没有问题。打开一个空目录可以正常运行只有打开某个特定工作区时才发生 OOM。进一步分析项目目录发现工程结构如下TrackEval │ ├── trackeval/ ├── scripts/ ├── tests/ ├── data/ └── processed_data/其中processed_data/ inference_results/ tracking_result_xxx/ 000001.txt 000002.txt ...包含了大量实验结果文件.txt。这些文件虽然每个都很小但是数量非常多可能达到数十万甚至更多。三、为什么会 OOM打开工作区以后VS Code 并不仅仅是显示文件。它还会同时启动多个后台任务File Watcher监听文件变化Search建立搜索索引Python/Pylance建立代码索引Explorer读取目录树Remote SSH 同步状态对于普通项目这些功能没有任何问题。但是当项目中存在几十万甚至上百万个小文件时File Watcher 会监听大量文件Search 会尝试建立索引Pylance 会扫描 Python 工程Explorer 会读取大量目录。最终导致 VS Code 的 RendererElectron内存不断增长最后触发OOM (Out Of Memory)四、解决方案4.1 核心思想代码需要索引数据不需要索引。例如TrackEval ├── trackeval ← 代码 ├── scripts ← 代码 ├── tests ← 代码 ├── data ← 数据 └── processed_data ← 实验结果其中trackevalscripts需要智能提示。而dataprocessed_data通常只是程序读取的数据。因此可以告诉 VS Code不要扫描这两个目录。4.2 修改.vscode/settings.json在项目目录下创建.vscode/settings.json写入如下配置{// // 文件监视不监听数据目录// files.watcherExclude:{**/data/**:true,**/processed_data/**:true},// // 全局搜索不搜索数据目录// search.exclude:{**/data/**:true,**/processed_data/**:true},// // Pylance不分析数据目录// python.analysis.exclude:[**/data/**,**/processed_data/**],// 只分析打开的文件python.analysis.diagnosticMode:openFilesOnly,// 关闭整个工程索引python.analysis.indexing:false}保存后重新连接 Remote SSH 或重新打开 VS Code。4.3 各配置项说明1. files.watcherExcludefiles.watcherExclude:{**/processed_data/**:true}作用不监听目录中的文件变化大幅减少 File Watcher 的压力。适用于数据集日志推理结果模型权重2. search.excludesearch.exclude:{**/processed_data/**:true}作用按下Ctrl Shift F时不会扫描该目录。搜索速度明显提高。3. python.analysis.excludepython.analysis.exclude:[**/processed_data/**]作用告诉 Pylance不要分析这些目录。避免建立索引类型推断自动补全4. python.analysis.diagnosticModepython.analysis.diagnosticMode:openFilesOnly默认情况下Pylance 会分析整个工作区。改成openFilesOnly以后只分析当前打开的 Python 文件。可以显著降低内存占用。5. python.analysis.indexingpython.analysis.indexing:false关闭整个工程索引。对于大型 AI 项目通常不会影响日常开发。五、解决效果修改配置后✅ VS Code 不再出现The window terminated unexpectedly (reason: oom)同时工作区仍然可以正常打开dataprocessed_data两个目录依然保留在资源管理器中可以正常浏览。代码补全、跳转定义等功能也不会受到影响因为代码目录仍然会正常分析。六、适用场景本文方法适用于深度学习项目大模型项目LLM、VLM多目标跟踪MOT目标检测图像分割视频分析海量实验结果目录海量日志文件Remote SSH 开发特别适合下面这种工程project/ │ ├── src/ ├── scripts/ ├── checkpoints/ ├── datasets/ ├── logs/ ├── outputs/ ├── results/ └── inference_results/其中checkpointsdatasetsoutputsresultslogs都可以考虑加入files.watcherExcludesearch.excludepython.analysis.exclude七、总结对于大型 AI 项目来说真正需要 VS Code 分析的是代码而不是数据。如果项目中包含大量数据集、推理结果、日志文件或模型权重建议将这些目录排除出文件监听、搜索和 Python 索引范围。这样既能保留完整的项目目录结构又能有效降低 VS Code 的资源占用避免因海量文件导致的OOM (Out of Memory)崩溃问题同时提升搜索、索引和工作区加载速度。

相关新闻

如何用GPT-SoVITS在5分钟内创建你的专属AI语音助手

如何用GPT-SoVITS在5分钟内创建你的专属AI语音助手

如何用GPT-SoVITS在5分钟内创建你的专属AI语音助手 【免费下载链接】GPT-SoVITS 1 min voice data can also be used to train a good TTS model! (few shot voice cloning) 项目地址: https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS 想要快速创建一个能模仿任何人…

2026/7/3 6:17:42 阅读更多 →
母线槽起火隐患难管控?这套智能监控方案一站式解决

母线槽起火隐患难管控?这套智能监控方案一站式解决

做 IDC 机房、新能源厂房、高层商业、医院楼宇运维的同行都深有体会:母线槽是配电核心通道,但连接器、插接插脚极易发热起火,传统人工巡检效率低、隐患难预判,数字化、安全生产要求下,传统运维早已跟不上需求。一、行业…

2026/7/3 6:17:42 阅读更多 →
Windows 10 终极清理指南:如何彻底移除臃肿软件并优化系统性能

Windows 10 终极清理指南:如何彻底移除臃肿软件并优化系统性能

Windows 10 终极清理指南:如何彻底移除臃肿软件并优化系统性能 【免费下载链接】Windows10Debloater Script to remove Windows 10 bloatware. 项目地址: https://gitcode.com/gh_mirrors/wi/Windows10Debloater Windows10Debloater 是一款免费开源的 Window…

2026/7/3 6:15:41 阅读更多 →

最新新闻

从零到CI/CD内嵌:ChatGPT生成单元测试,7步落地法,含可直接运行的Prompt工程+边界值校验脚本

从零到CI/CD内嵌:ChatGPT生成单元测试,7步落地法,含可直接运行的Prompt工程+边界值校验脚本

更多请点击: https://kaifayun.com 第一章:ChatGPT 生成 单元测试 代码 大型语言模型如 ChatGPT 已成为开发者编写单元测试的高效辅助工具,尤其适用于快速生成覆盖边界条件、异常路径和典型业务逻辑的测试用例。其优势在于理解自然语言描述的…

2026/7/3 7:30:00 阅读更多 →
3分钟上手:LyricsX让Mac桌面歌词显示变得如此简单

3分钟上手:LyricsX让Mac桌面歌词显示变得如此简单

3分钟上手:LyricsX让Mac桌面歌词显示变得如此简单 【免费下载链接】Lyrics Swift-based iTunes plug-in to display lyrics on the desktop. 项目地址: https://gitcode.com/gh_mirrors/lyr/Lyrics 还在为iTunes没有歌词显示功能而烦恼吗?LyricsX…

2026/7/3 7:27:59 阅读更多 →
GPT-SoVITS终极优化指南:如何在Mac上实现300%语音合成性能提升

GPT-SoVITS终极优化指南:如何在Mac上实现300%语音合成性能提升

GPT-SoVITS终极优化指南:如何在Mac上实现300%语音合成性能提升 【免费下载链接】GPT-SoVITS 1 min voice data can also be used to train a good TTS model! (few shot voice cloning) 项目地址: https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS 你是否…

2026/7/3 7:25:59 阅读更多 →
江苏mom软件厂商推荐-江苏汉软

江苏mom软件厂商推荐-江苏汉软

江苏省,作为中国制造业的重镇,汇聚了众多为工厂数字化转型提供“大脑”的MOM(制造运营管理)软件厂商。江苏汉软工业智能技术有限公司(简称“江苏汉软”)是其中颇具代表性的一家,此外&#xff0c…

2026/7/3 7:25:59 阅读更多 →
Figma中文界面终极解决方案:3分钟让设计工具说中文

Figma中文界面终极解决方案:3分钟让设计工具说中文

Figma中文界面终极解决方案:3分钟让设计工具说中文 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 还在为Figma的英文界面而困扰吗?每天面对"Auto Layout&q…

2026/7/3 7:23:58 阅读更多 →
Diffusion、GAN与VAE工业落地选型实战指南

Diffusion、GAN与VAE工业落地选型实战指南

1. 这不是“选哪个更好”的选择题,而是“在什么场景下让哪个模型真正干活”的实战指南如果你最近翻过几篇AI生成内容的论文、刷过技术社区里关于图像生成的讨论,或者只是被朋友圈里突然爆火的AI绘画工具刷屏过,那“Diffusion Models”“GANs”…

2026/7/3 7:21:58 阅读更多 →

日新闻

Nginx防御TLS重协商攻击实战:从原理到配置与监控

Nginx防御TLS重协商攻击实战:从原理到配置与监控

1. 项目概述:为什么TLS重协商攻击至今仍需警惕十多年前的CVE-2011-1473,一个关于TLS/SSL协议重协商机制的漏洞,现在提起来还有必要吗?很多运维和开发朋友可能会觉得,这都老掉牙了,现代服务器和客户端不都默…

2026/7/3 0:03:59 阅读更多 →
华为防火墙双通道远程管理实战:Web与SSH配置详解

华为防火墙双通道远程管理实战:Web与SSH配置详解

1. 项目概述:为什么需要双通道远程管理防火墙?在任何一个稍具规模的企业网络里,防火墙都是那个默默守护在边界的关键角色。作为网络工程师,我们不可能每次都跑到机房,插上console线去配置它。远程管理能力,…

2026/7/3 0:03:59 阅读更多 →
AD74413R与PIC18F65K40的高精度工业数据采集方案

AD74413R与PIC18F65K40的高精度工业数据采集方案

1. 项目概述:AD74413R与PIC18F65K40的协同工作在工业自动化和精密测量领域,同时实现高精度模数转换(ADC)和数模转换(DAC)功能是许多复杂系统的核心需求。AD74413R作为一款四通道可配置模拟输入/输出器件,与PIC18F65K40微控制器的组合&#xf…

2026/7/3 0:05:59 阅读更多 →

周新闻

月新闻