vscode内存溢出需分层处理:npm run崩溃改package.json加node --max-old-space-size=4096;主进程卡死须终端执行code --max-memory=4096 --disable-extensions;extension host泄漏需在.vscode/settings.json配files.watcherexclude和extensions.experimental.affinity。

直接加 --max-old-space-size=4096 不管用,是因为你只在某一层进程上加了参数,而 VSCode 里至少有三个独立 Node 进程会各自爆内存:主界面(Electron 渲染进程)、插件宿主(Extension Host)、你跑的构建脚本(比如 vue-cli-service)。必须分层处理,否则改了也白改。
npm run 崩溃报 JavaScript heap out of memory?改的是子进程,不是 VSCode
这个错误出现在终端里执行 npm run dev 或 pnpm build 时,本质是 CLI 工具启动的独立 Node 子进程堆溢出,和 VSCode 主窗口完全无关。
- Linux/macOS 直接改
package.json的 script 字段:"dev": "node --max-old-space-size=4096 ./node_modules/.bin/vue-cli-service serve" - Windows 必须用
cross-env注入环境变量:"dev": "cross-env NODE_OPTIONS=--max-old-space-size=4096 vue-cli-service serve" - 别装
increase-memory-limit—— 它只是帮你往package.json里写参数,还可能覆盖你手动配的值 - 如果项目含大量
.d.ts或嵌套极深的依赖,可先试--max-old-space-size=3072;超过 4096 很少必要,反而会掩盖真正的问题(比如没排除node_modules)
VSCode 启动就卡死或白屏?主进程内存失控,得用命令行启动
打开 VSCode 就卡住、窗口白屏、刚加载就 OOM,大概率是 Electron 主渲染进程 RSS 内存飙到 3GB+。这不是插件问题,是 Electron 默认不限 V8 堆上限 + 文件监听器无差别注册导致的。
- 绝对不要用桌面图标、Dock 或 Finder 双击启动 —— 它绕不开默认参数
- 必须在终端执行:
code --disable-extensions --disable-gpu --max-memory=4096 . -
--max-memory=4096是 Electron 12+ 才支持的参数,单位 MB,只作用于主进程 -
--disable-extensions能跳过 GitLens、ESLint 等语言服务预热,省掉 500MB+ 内存 - Windows 用户注意:
set NODE_OPTIONS=--max-old-space-size=4096对 GUI 启动无效,那是给 Node 子进程用的
保存大文件或格式化时报错?Extension Host 进程泄漏,得隔离+排除
禁用所有插件后,保存一个 5MB JSON 还是崩溃?大概率是 Extension Host 自己爆了。它和主进程分开管理内存,且默认无上限。
- 运行
Developer: Open Process Explorer,展开extensionHost节点,按 Memory 列排序,看哪个插件实际占用了 >300MB RSS - 在项目根目录的
.vscode/settings.json中加:"extensions.experimental.affinity": { "*": 1 },强制所有扩展跑在独立子进程中 - 必须配
files.watcherExclude排除监听源:"**/node_modules/**": true、"**/.git/**": true、"**/dist/**": true—— 少一个/(比如写成"**/node_modules")VSCode 就会忽略 -
search.exclude只影响搜索结果,完全不阻止监听器创建,别混用 - 用了 pnpm?补上
"**/node_modules/.pnpm/**": true;用了 turborepo?加上"**/.turbo/**": true
最容易被忽略的点是:每个进程的内存限制都得单独配,而且配置位置不能错 —— package.json 控制子进程,code 命令控制主进程,.vscode/settings.json 控制 Extension Host 和监听行为。三者缺一,就还会崩。











