【问题标题】:High CPU usage from Node.js when running vue-cli-service serve运行 vue-cli-service serve 时来自 Node.js 的高 CPU 使用率
【发布时间】:2019-11-08 03:19:47
【问题描述】:

当我运行使用vue-cli-service serve 的 npm 脚本时,Node 的 CPU 使用率远远超过 100%。 如何调试此问题?

我正在使用 Mac,通过 nvm 安装 Node。节点版本:10.16,npm 版本:6.9

【问题讨论】:

    标签: node.js vue.js npm vue-cli-3


    【解决方案1】:

    在 MacOSX 上安装 fsevents 模块将有助于减少 CPU 使用率。

    npm install fsevents -g

    npm rebuild fsevents

    【讨论】:

    • 这对我来说解决了这个问题,但你能解释一下为什么吗?很高兴在一些背景下进行投票!
    • 如果不使用 fsevents,@Ollywood Webpack 会因 CPU 使用率过高而受到影响。请参阅此 github 问题。 github.com/webpack/webpack/issues/701
    • 起初这对我不起作用,因为在构建 node-gyp 时出错,因为我没有 XCode。通过xcode-select --install快速安装Xcode命令行工具后,安装了fsevents,高CPU使用率立即下降。
    • 在迁移到 M1 机器后必须运行 npm rebuild fsevents
    【解决方案2】:

    问题是由轮询选项引起的。

    从 webpack 配置中的 watchOptions 中删除 poll: true - 为我解决了这个问题。

    【讨论】:

    • 从哪里删除它?
    • 来自我的 webpack 配置中的 watchOptions。见webpack.js.org/configuration/watch/#watchoptions
    • 就我而言,在 Win10 上 - 在文件 vue.config.js 中,它在 devServer -> watchOptions -> poll: true 中。将其设置为 false 移除 CPU 消耗(同时观看文件有效)。
    【解决方案3】:

    我在 virtualbox 中使用 linux 用于开发目的,并且我有从 windows 主机到 linux 来宾的共享文件夹。我的 vue 项目存储在我的硬盘中并与 vbox 共享。

    所以我必须在我的 vue.config.js 中使用 {devServer: watchOptions: {poll: true}} 才能进行热重载。这导致了 CPU 使用率过高的问题。

    所以我把我的代码放在来宾硬盘中并设置 poll:false 并且问题已经消失了。

    希望有人觉得这有帮助。

    【讨论】:

      猜你喜欢
      • 2021-01-02
      • 2021-06-20
      • 2020-09-01
      • 2019-07-16
      • 2020-10-08
      • 1970-01-01
      • 2020-10-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多