首页 > 解决方案 > Angular CLI - ng serve - 来自节点进程的高 CPU 使用率

问题描述

我正在努力解决一个问题,即在本地运行任何角度应用程序时,链接到的节点进程ng serve使用了​​超过 100% 的 CPU 内核。

我现在的环境是:

Angular CLI:7.3.10 节点:11.15.0 操作系统:darwin x64 (Mac OS X Catalina 10.15.4) Angular:7.2.16

我遇到过很多关于此的帖子和问题,其中常见的解决方案似乎是fsevents为 Mac OS 问题安装。

我尝试过的事情:

无论我尝试什么,我一直在观察高 CPU 使用率,我看到它有时会上升 300-400%。

这真的阻碍了我的发展,我希望有人能提出一些我可以尝试的好主意。

做不到这一点,我想知道我是否应该尝试node完全卸载,摆脱nvm并从头开始。

标签: node.jsangularwebpacknode-gypfsevents

解决方案


在 Angular 开发环境中;转译/编译会导致 CPU 峰值。当这种情况发生得太频繁时,您的系统就会出现问题。

有一些方法可以稍微减轻疼痛;

  • 完全关闭文件更改检测/实时重新加载/自动编译

ng serve --live-reload false等等ng serve --no-live-reload,取决于你的 Angular CLI 版本

  • 有更好的变化检测,只有在真正需要时才做出反应

npm install fsevents

npm rebuild fsevents

npm serve

  • 忘记更改检测,根据时间间隔检查更改

ng serve --poll [ms]

CPU管理很棘手,这个问题可能有很多原因。这些只是与 Angular 开发密切相关的几种可能性。我希望这个答案能提供一些选择来尝试那些有同样问题的人。


推荐阅读