VS Code C/C++ 插件 cpptools 内存占用异常

前期概要

使用VS code连接WSL经常性出现终端和IDE卡住无法使用,关闭VS后即正常。

根本原因

cpptools 吃内存 = "全量符号索引常驻" × "多文件夹多实例" × "可能的宏/symlink 泄漏" × "没用 compile_commands 限制范围"

内存占用分析

实时监控 WSL 内存和进程占用

bash 复制代码
watch -n 0.5 'free -h && echo "---" && ps -eo pid,rss,comm --sort=-rss | head -15'
部分 作用
watch -n 0.5 每 0.5 秒自动重新执行一次后面的命令
free -h 显示内存和 swap 使用情况(-h = 人类可读,GB/MB)
echo "---" 打一条分隔线
ps -eo pid,rss,comm --sort=-rss 列出所有进程,按内存占用(RSS)从大到小排序
head -15 只取前 15 行(也就是最吃内存的 15 个进程)

解决方法

1.排除无效目录

在settings.json配置,扫描文件树时跳过这些目录,排除了能省掉一大坨无意义解析

bash 复制代码
    //排除 cpptools 扫描文件夹
    "C_Cpp.files.exclude": {
	"**/.git": true,
	"**/build": true,
	"**/bin": true,
	"**/out": true,
	"**/log": true,
	"/PROJECT_ROOT/COMPONENT/ANONYMIZED": true,
    },

settings.json位置

2.降低 CPU 占有率

3.加大内存配置

修改wsl配置文件,swap 用硬盘当内存用,.wslconfig在windows %UserName%目录

4.禁用插件cpp-tools

孩子不听话就直接干掉,一些智能提示和跳转功能就会无法使用了

使用其他工具替换,例如clangd,但是一些大型项目sdk,编译方式五花八门可能不方便统一配置

VS Code clangd 替换 C/C++插件-CSDN博客https://blog.csdn.net/weixin_56637649/article/details/164018151?spm=1001.2014.3001.5502

相关推荐
0+1113 小时前
Linux --从 poll 到 epoll多路转接
linux·服务器·1024程序员节
青瓦梦滋3 小时前
WebSocket协议
linux·服务器·网络·c++·websocket·网络协议·http
桌面运维家4 小时前
旧电脑跑不动课程软件,VDI云桌面怎样接着用?
运维·服务器·虚拟化·pve·vdi·云桌面
zhang133830890754 小时前
传统机械三杯式风速传感器易磨损冻堵?CG-88金属超声波风速风向传感器给出免运维方案
运维·服务器·网络·人工智能·自动化
知已难寻4 小时前
第 2 篇 · 云的地基:服务器、存储、网络三大基础设施
运维·服务器·网络·云原生·云计算·负载均衡·1024程序员节
2601_949847756 小时前
bcrypt.js 跨端三方库仓颉适配全流程
linux·运维·ubuntu
m0_639906946 小时前
Linux 操作系统入门:目录结构、服务排查常用命令、Shell 脚本基础
linux·运维·后端
今天重构了吗7 小时前
Linux 上 rm -rf 删错了能找回吗
运维·服务器
KaiwuDB7 小时前
KaiwuDB 分布式集群扩缩容,从原理到完整操作踩坑总结
运维·数据库·分布式
codezzzsleep8 小时前
学术汇报 PPT 自动化生成实战指南
运维·自动化·powerpoint