Featured image of post Code Helper 高占用:MacBook Pro 风扇狂转的一次排查

Code Helper 高占用:MacBook Pro 风扇狂转的一次排查

一次 VS Code 后台进程高占用排查记录:从风扇异常到搜索与文件监听配置优化

年前新购了一台 MacBook Pro,原本想着 M 系列机器性能足够强,日常开发应该会非常安静。 结果实际用下来却有点反常:风扇时不时突然拉高,机身温度也明显上来,偶尔还伴随着一点轻微卡顿。

按理说,这台机器的性能不该这么“娇气”。 所以第一反应不是怀疑硬件,而是怀疑后台有进程在偷偷吃资源。

先看 Activity Monitor

打开活动监视器之后,很快就能看到异常进程。

列表里有一个 Code Helper 占用比较明显。 这个名字看着不算陌生,但也不够直接,于是继续往下查。

确认进程来源

我又在终端里把进程信息拉出来看了一眼,基本可以确认这是 VS Code 相关的后台进程。

再结合最近一段时间的使用习惯,其实原因也就不难猜了: 这阵子前端项目开得比较多,仓库里 node_modulesdist、临时目录这些内容都不少。 VS Code 一边做文件搜索,一边做文件监听,项目一多,压力就容易堆起来。

说白了,不一定是 VS Code “有问题”,更像是默认配置在大项目场景下不够克制。

处理方法

处理思路也很直接:把那些没必要被反复扫描、反复监听的目录排除掉。

先用快捷键打开 VS Code 命令面板:

⌘ + Shift + P

然后输入 settings json,进入用户配置文件。

把下面这段配置加进去:

"search.followSymlinks": false,
"files.exclude": {
    "**/.git": true,
    "**/.svn": true,
    "**/.hg": true,
    "**/CVS": true,
    "**/.DS_Store": true,
    "**/tmp": true,
    "**/node_modules": true,
    "**/bower_components": true,
    "**/dist": true
},
"files.watcherExclude": {
    "**/.git/objects/**": true,
    "**/.git/subtree-cache/**": true,
    "**/node_modules/**": true,
    "**/tmp/**": true,
    "**/bower_components/**": true,
    "**/dist/**": true
}

配置完成后,大致是这样:

改完之后

VS Code 重启之后,后台相关进程明显收敛了不少,风扇也没有之前那么容易突然起飞。 至少从目前的使用感受来看,这个问题基本是压下来了。

当然,这类问题未必只靠一组配置就能彻底根治。 如果你的项目本身体量很大,或者工作区里同时打开了太多仓库,CPU 占用还是有可能上来。 但把搜索范围和文件监听范围先收紧,通常是最省事、也最有效的一步。

最后

很多时候,Mac 发热、风扇异常、偶发卡顿,并不一定是机器性能不够, 而是某个后台工具正在默默地做“本不该做那么多”的事。

这次的 Code Helper 高占用,算是一个很典型的小坑。 记录下来,后面自己再遇到,也不用重新折腾一遍了。