前言
最近在两台机器上使用vscode
时突然发现cpu
过高,重启几次后发现竟然有多个进程直接 99-100! 导致我的mac机器的风扇都呼呼转了起来。
win10
机器也是 cpu
直接爆了,机器卡顿,于是我上网参考了一些解决方案,开始排查我的问题,最终解决。谨以此篇记录踩坑过程,也希望可以帮助到其他同学。
macOs系统
查看cpu情况
mac: 直接打开活动监视器,查看cpu过高的进程
vscode:点击帮助->进程资源管理器
这里可以看到当前编辑器的进程,如果某个进程cpu很高的话这里也会显示,但是查看详细信息后发现不了太多有价值的内容。
通过vscode开发者人员工具排查问题
控制台会有一些报错信息,这里可能会出现一些关于扩展插件关键词,或者有用的报错信息
解决方式
逐个禁用扩展插件调试
每次禁用一个插件,然后重启编辑器后观察进程,以此类推来判断是那个扩展导致cpu过高。这种方法只适合只要少量扩展插件的情况,扩展插件大几十个时太过麻烦。
开始扩展二等分使用
这个功能是vscdoe内置的功能,使用快捷键 command+shift+p 输入 start extension bisect
,启动开始扩展二等分
当第一次执行时会禁用当前所有插件,此时注意观察活动监视器的进程,看看是否还存在 cpu 异常的进程。
如果问题不存在了,就点击 “我无法重现” 按钮,继续进行二等分排查问题。
如果某个进程cpu依然很高,意味着现在出现的问题大概率与vscode
的扩展无关,所以点击“我可以重现”按钮,结束。
如果所有插件都禁用后cpu还是过高,大概率这个问题是 vscode版本的问题,可以适当的降级重启后查看cpu是否正常。
我这里就是将vscode从 1.95降级到 1.92版本后,cpu过高问题成功解决,折腾了大半天。
win10系统
第一次会自动禁用全部插件,我们可以通过观察此时的任务管理器的进程,发现CPU
占用已经正常,说明就是某个插件导致的问题;
- 问题不存在就选
Good Now
(无法重现) - 问题还是存就选
This is bad
(可以重现)
接着点击Good Now
, VSCode
会再次自动禁用一部分插件,继续观察CPU
进程,
不出意外的话,最终会定位到一个插件,这就是有问题的那个插件;它的查找方法如命令的名称一样,使用二分查找法,快速定位有问题的插件!
- 继续
我在win10电脑上最后定位到的插件是: path-alias
这个插件,它提供路径别名补全,跳转,重构,函数自动引入等功能,禁用以后,cpu
就正常了。
mac 电脑 vscode 排查导致 cpu 过高的插件
mac 电脑最终定位到:
- xabikos.javascript snippets
- Import Cost 插件
总结
vscode
编辑器出现cpu
过高的情况基本上不是扩展插件导致的就是版本问题,不建议使用最新版本,可能存在一些问题。