记一次vscode启动后cpu100%问题

882 阅读3分钟

前言

最近在两台机器上使用vscode时突然发现cpu过高,重启几次后发现竟然有多个进程直接 99-100! 导致我的mac机器的风扇都呼呼转了起来。

win10机器也是 cpu直接爆了,机器卡顿,于是我上网参考了一些解决方案,开始排查我的问题,最终解决。谨以此篇记录踩坑过程,也希望可以帮助到其他同学。

macOs系统

查看cpu情况

mac: 直接打开活动监视器,查看cpu过高的进程

vscode:点击帮助->进程资源管理器

image.png

这里可以看到当前编辑器的进程,如果某个进程cpu很高的话这里也会显示,但是查看详细信息后发现不了太多有价值的内容。

通过vscode开发者人员工具排查问题

image.png

控制台会有一些报错信息,这里可能会出现一些关于扩展插件关键词,或者有用的报错信息

解决方式

逐个禁用扩展插件调试

每次禁用一个插件,然后重启编辑器后观察进程,以此类推来判断是那个扩展导致cpu过高。这种方法只适合只要少量扩展插件的情况,扩展插件大几十个时太过麻烦。

开始扩展二等分使用

这个功能是vscdoe内置的功能,使用快捷键 command+shift+p 输入 start extension bisect,启动开始扩展二等分

image.png

image.png

当第一次执行时会禁用当前所有插件,此时注意观察活动监视器的进程,看看是否还存在 cpu 异常的进程。

如果问题不存在了,就点击 “我无法重现” 按钮,继续进行二等分排查问题。

如果某个进程cpu依然很高,意味着现在出现的问题大概率与vscode的扩展无关,所以点击“我可以重现”按钮,结束。

如果所有插件都禁用后cpu还是过高,大概率这个问题是 vscode版本的问题,可以适当的降级重启后查看cpu是否正常。

我这里就是将vscode从 1.95降级到 1.92版本后,cpu过高问题成功解决,折腾了大半天。

win10系统

第一次会自动禁用全部插件,我们可以通过观察此时的任务管理器的进程,发现CPU占用已经正常,说明就是某个插件导致的问题;

  • 问题不存在就选 Good Now(无法重现)
  • 问题还是存就选 This is bad(可以重现)

接着点击Good NowVSCode 会再次自动禁用一部分插件,继续观察CPU进程,

不出意外的话,最终会定位到一个插件,这就是有问题的那个插件;它的查找方法如命令的名称一样,使用二分查找法,快速定位有问题的插件!

image.png

image.png

  • 继续

image.png

image.png

我在win10电脑上最后定位到的插件是: path-alias 这个插件,它提供路径别名补全,跳转,重构,函数自动引入等功能,禁用以后,cpu 就正常了。

mac 电脑 vscode 排查导致 cpu 过高的插件

mac 电脑最终定位到:

image.png

  • xabikos.javascript snippets

image.png

  • Import Cost 插件

image.png

总结

vscode编辑器出现cpu过高的情况基本上不是扩展插件导致的就是版本问题,不建议使用最新版本,可能存在一些问题。