0

0

VSCode内存占用过高_减少内存占用的技巧

狼影

狼影

发布时间:2026-01-12 17:59:02

|

683人浏览过

|

来源于php中文网

原创

VSCode 启动后内存飙升至1GB+主要因多进程架构、Electron底层开销及重型扩展(如GitLens、ESLint)持续占用;可通过禁用高耗扩展、调整settings.json参数、使用命令行限制渲染进程等优化。

vscode内存占用过高_减少内存占用的技巧

为什么 VSCode 启动后内存就飙升到 1GB+?

VSCode 默认启用多进程架构,每个扩展、终端、Webview、甚至每个打开的文件夹都可能运行在独立渲染进程中。加上 Electron 底层的 Chromium 实例本身就有基础内存开销,code --status 常能看到 mainshared-process、多个 renderer 进程各自占几百 MB。尤其当装了语法高亮、LSP、GitLens、Prettier 等重型扩展时,内存很容易突破 2GB。

禁用或替换高内存消耗的扩展

不是所有扩展都“轻量”。有些扩展会在后台持续扫描文件、监听 fs 事件、预加载大型语言模型(如某些 AI 插件),导致内存长期居高不下。可通过 Ctrl+Shift+PDeveloper: Show Running Extensions 查看各扩展实际内存占用(注意:该命令需 VSCode 1.86+)。

  • GitLens 是常见元凶,开启 gitlens.advanced.performance.enabled 并设为 true,或直接禁用它改用内置 Git 功能
  • ESLint 扩展若配置了全局 node_modules 检查,会加载大量 JS 文件;建议在项目根目录配 .eslintrc.js 并设置 "root": true,避免向上递归查找
  • 禁用所有非必需的 UI 类扩展(如主题增强、图标包、状态栏美化),它们常驻 Webview 渲染进程,每个都额外吃 100–300MB
  • vscode-eslint 替代 dbaeumer.vscode-eslint(旧版);新版已合并进官方维护渠道,内存更可控

调整 VSCode 启动与编辑行为参数

VSCode 提供多个启动级配置项,能从源头限制资源使用。这些设置不依赖扩展,生效快、影响直接:

AI Time Machine
AI Time Machine

使用AI创建穿越历史的超逼真的头像

下载
  • settings.json 中添加:
    {
      "files.maxMemoryForLargeFilesMB": 40,
      "editor.largeFileOptimizations": true,
      "update.mode": "none",
      "telemetry.telemetryLevel": "off",
      "extensions.autoCheckUpdates": false,
      "extensions.autoUpdate": false
    }
  • files.maxMemoryForLargeFilesMB 控制大文件(>50MB)是否加载进内存,默认是 4096(4GB),设为 40 可防意外卡死
  • 关闭自动更新和遥测后,shared-process 不再定期拉取元数据,减少后台轮询和内存驻留
  • 避免用 code . 打开整个 node_modulesdist 目录;改用 code src/ 精确指定工作区

用命令行参数启动 VSCode 降低基础开销

Electron 和 VSCode 主进程本身支持传参控制资源分配,比 GUI 设置更底层、更彻底:

  • 禁用 GPU 加速(尤其 Windows/Linux 集成显卡用户):code --disable-gpu --disable-gpu-compositing
  • 限制渲染进程数量(默认不限):code --max-renderer-count=2,强制复用进程
  • 跳过扩展初始化(仅调试用):code --disable-extensions,验证是否为扩展导致问题
  • 禁用沙盒(Linux/macOS 谨慎):code --no-sandbox,可降约 100–200MB,但牺牲安全性

把这些参数写进桌面快捷方式或 alias,日常就能稳定受益。真正难搞的是那些悄悄 fork 子进程、缓存 AST 树、或把整个 tsconfig.json 解析结果全塞进内存的扩展——它们不会出现在任务管理器的“VSCode”分组里,得靠 code --status + ps aux | grep code 组合排查。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

409

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

532

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

309

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

74

2025.09.10

counta和count的区别
counta和count的区别

Count函数用于计算指定范围内数字的个数,而CountA函数用于计算指定范围内非空单元格的个数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

196

2023.11.20

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

510

2023.06.20

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

244

2023.07.28

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

254

2023.08.03

Java 项目构建与依赖管理(Maven / Gradle)
Java 项目构建与依赖管理(Maven / Gradle)

本专题系统讲解 Java 项目构建与依赖管理的完整体系,重点覆盖 Maven 与 Gradle 的核心概念、项目生命周期、依赖冲突解决、多模块项目管理、构建加速与版本发布规范。通过真实项目结构示例,帮助学习者掌握 从零搭建、维护到发布 Java 工程的标准化流程,提升在实际团队开发中的工程能力与协作效率。

10

2026.01.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7万人学习

Git 教程
Git 教程

共21课时 | 2.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号