VSCode内存持续上涨主因是扩展和文件监视器,应禁用高耗扩展、配置files.watcherExclude排除node_modules等目录、关闭Git/遥测/自动更新,并在Remote场景下合理设置remote.extensionKind。

VSCode 启动后内存持续上涨到 1GB+ 怎么办
多数情况下不是 VSCode 本身的问题,而是扩展在后台持续扫描、监听或执行任务。尤其当工作区包含 node_modules、dist、.git 或大型日志文件时,文件监视器(Watcher)会触发大量事件,导致 shared-process 和 extension-host 进程内存飙升。
- 先打开命令面板(
Ctrl+Shift+P/Cmd+Shift+P),运行Developer: Show Running Extensions,看哪些扩展的“CPU 时间”或“内存占用”异常高 - 重点关注:实时 LSP 服务(如
pylsp、rust-analyzer)、文件搜索类(grep类扩展)、自动保存/格式化(prettier、eslint)、Git 图形化工具(GitLens) - 临时禁用所有扩展,再逐个启用,观察
Process Explorer(菜单 → Help → Open Process Explorer)中各进程内存变化
如何配置 files.watcherExclude 和 search.exclude
VSCode 默认会监视整个工作区的文件变更,包括你根本不需要响应的目录。不加限制时,一个含 20 万文件的 node_modules 可能让文件监视器吃掉 500MB+ 内存。
-
files.watcherExclude控制底层文件系统监听范围,影响 CPU 和内存;必须写成 glob 模式,且路径相对于工作区根目录 -
search.exclude仅影响全局搜索(Ctrl+Shift+F),不降低内存,但能加快搜索响应 - 推荐基础配置(添加到工作区
.vscode/settings.json):
{
"files.watcherExclude": {
"**/node_modules/**": true,
"**/bower_components/**": true,
"**/dist/**": true,
"**/build/**": true,
"**/.git/**": true,
"**/logs/**": true,
"**/*.log": true
},
"search.exclude": {
"**/node_modules": true,
"**/dist": true,
"**/build": true,
"**/logs": true
}
}
禁用非必要功能:Git、Telemetry、自动更新
VSCode 自带的 Git 集成默认每秒轮询状态,对超大仓库(如 Linux kernel)会造成显著开销;遥测和自动更新虽轻量,但在低配机器上叠加起来也明显。
- 关闭 Git 自动刷新:
"git.enabled": false(如不用内置 Git,或改用终端操作) - 停用遥测:
"telemetry.enableTelemetry": false和"telemetry.enableCrashReporter": false - 禁用自动更新:
"update.mode": "none"(手动通过菜单检查更新更可控) - 如果只编辑文本,可关掉语言服务:
"editor.quickSuggestions": false、"editor.suggestOnTriggerCharacters": false
使用 Remote-SSH 或 WSL 时内存翻倍?注意 remote.extensionKind
在 Remote-SSH 或 WSL 场景下,部分扩展默认在远程端运行(比如 Python、Rust 扩展),但它们的 UI 组件仍需本地渲染,导致双端都加载、内存重复占用。
- 强制指定扩展运行位置:在本地
settings.json中添加 - 例如让 Python 扩展只在远程运行(不占本地内存):
"remote.extensionKind": {
"ms-python.python": ["workspace"]
}
- 值为
["ui"]表示只在本地运行(适合轻量 UI 工具),["workspace"]表示只在远程运行(适合语言服务器) - 错误配置会导致功能失效(如 LSP 不工作),建议查扩展文档确认支持的
extensionKind
真正卡顿往往来自多个小配置叠加——比如没关 files.watcherExclude,又开了 GitLens + 自动保存 + 全局搜索监听,这时候单关一个扩展没用。得从文件监听、扩展运行位置、远程策略三层一起压。










