zoukankan      html  css  js  c++  java
  • Mac 环境 Vue 开发 CPU 占用率高 问题

    Mac开发Vue应用时,发现CPU风扇转的老高。

    htop查看一下:

    问题找到了,就是这个dev-server.js,node起的进程。

    然后就是 dtruss -p 1230(进程ID) 命名跟踪一下这个进程,发现一直在读取应用下的每个js文件。

    ps aux | grep node | grep -v grep | awk '{print $2}' | xargs sudo dtruss -p

    然后借用同事的ubuntu系统,问题并没有出现。这让我一度很沮丧。

    然后联想到是不是热更新出的问题,然后就是跟踪webpack源码,当然也是一无所获。

    后面不知咋地,使用如下命令 竟然修复了CPU占有率高的问题:

    npm install
    
    > fsevents@1.1.2 install /Users/phpdragon/SourceCode/phpdragon.com/front/node_modules/fsevents
    > node install
    
    [fsevents] Success: "/Users/phpdragon/SourceCode/phpdragon.com/front/node_modules/fsevents/lib/binding/Release/node-v57-darwin-x64/fse.node" already installed
    Pass --update-binary to reinstall or --build-from-source to recompile
    npm notice created a lockfile as package-lock.json. You should commit this file.
    added 115 packages in 5.919s

    用git工具对比了一下,发现多增加了如下文件:

    再重启应用

    npm run dev

    htop一下:

    现在世界终于清静了!

    同样的命令在window下执行:

    $ npm install
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_moduleschokidar
    ode_modulesfsevents):
    npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

    报当前系统不支持,类库只支持MacOS。

    总结:

    原因就是webpack的热更新用到了fsevent 类库,所以当找不到的时候,程序不会报错,但会不停扫描项目下的所有js文件。导致CPU使用率很高。

    具体原因还得深入到webpack的源码进行查看了。

    有句话说的好,喜欢就买、不喜就分、多喝热水、重启试试!

    所以你没事就 npm install 试试,说不定就好了!雾

    PS:  

    Webpack-源码 

    Native Access to Mac OS-X FSEvents

    FSevents on Wiki

    Linux和Mac OS X 中监视文件变化  

  • 相关阅读:
    程序员的人品
    【转】telnet使用 删除foxmail不能收取的邮件
    35岁以后我在干什么?
    面试
    程序员基本知识数制
    一事无成
    经过XssFilter替换特殊字符后再经zuul路由转发httpEntity缺少内容
    android跳转到市场进行评价 market://search?q
    使用IntelliJ 12.1.12开发android程序
    重定向
  • 原文地址:https://www.cnblogs.com/phpdragon/p/7401858.html
Copyright © 2011-2022 走看看