运行 vue-cli-service serve 时来自 Node.js 的高 CPU 使用率
Posted
技术标签:
【中文标题】运行 vue-cli-service serve 时来自 Node.js 的高 CPU 使用率【英文标题】:High CPU usage from Node.js when running vue-cli-service serve 【发布时间】:2019-11-08 03:19:47 【问题描述】:当我运行使用vue-cli-service serve
的 npm 脚本时,Node 的 CPU 使用率远远超过 100%。
如何调试此问题?
我正在使用 Mac,通过 nvm 安装 Node。节点版本:10.16,npm 版本:6.9
【问题讨论】:
【参考方案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 并且问题已经消失了。
希望有人觉得这有帮助。
【讨论】:
以上是关于运行 vue-cli-service serve 时来自 Node.js 的高 CPU 使用率的主要内容,如果未能解决你的问题,请参考以下文章
运行 vue-cli-service serve 时来自 Node.js 的高 CPU 使用率
以编程方式启动 vue-cli-service serve 时控制 webpack 的详细程度
npm run serve 给出错误 sh: vue-cli-service: command not found in Vue Cli app
使用“vue-cli-service serve”时在哪里可以找到 outputdir 或 dist-files
Vue - 由于 webpack 版本(vue-cli-service、laravel-mix、webpack)导致 npm run serve 命令崩溃