• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
MagicMirror Forum
  • Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.

Electron CPU usage

Scheduled Pinned Locked Moved Troubleshooting
247 Posts 46 Posters 477.2k Views 42 Watching
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Offline
    cruunnerr
    last edited by cruunnerr Dec 20, 2017, 5:59 PM Dec 20, 2017, 5:28 PM

    Well,

    i had MM 2.1.2 installed, so i needed to use the 2.1.0 way…

    but i actually got it running with “DISPLAY=:0 npm start”

    then i just copied the installed modules folders to the new directory and copied my “old” config.js but that didn’t work.

    i actually install the 3rd party modules manual. hopefully my old config.js will work then.

    But thank you anyway

    edit:

    so,

    i got MM2.1.0 running with electron 1.4.15

    have had a few problems, but now all works great.

    1 Reply Last reply Reply Quote 0
    • K Offline
      knubbl
      last edited by knubbl Dec 26, 2017, 10:10 PM Dec 23, 2017, 4:49 PM

      Bad issue with electron. When i downgrade to 1.4.15 the default calender module does not work

      ok…calendar works fine

      1 Reply Last reply Reply Quote 0
      • C Offline
        cruunnerr
        last edited by cruunnerr Dec 26, 2017, 8:08 PM Dec 26, 2017, 8:06 PM

        Cause i didn’t want to run 2.1.0 and also got many errors every time i looked in the logs, i decided to do a fresh install and try again.

        So i just installed a fresh Raspbian stretch lite and followed this guide: https://github.com/MichMich/MagicMirror/wiki/Jessie-Lite-Installation-Guide

        after the first start i got 80-85% cpu usage just playing the default modules.

        so i went into my MagicMirror folder and just typed “npm install electron@1.4.15”.
        It said that the version seems to be invalid, but after a reboot i tooled a look in the
        “/home/pi/MagicMirror/node_modules/electron/dist/version”
        and saw a 1.4.15 shown.

        thats all.

        so in my experience its just the electron version needed to downgrade. Neither the OS nor the MagicMirror Version needs to be downgraded.

        Loaded up a video: https://youtu.be/ak_mEMuLpYc

        shows “nmon-stats” while adding Traffic- and News-Module via Remote Control
        Still shows peaks when animation comes, but its fluety anyway

        1 Reply Last reply Reply Quote 0
        • W Offline
          WeatherGeek
          last edited by Dec 28, 2017, 2:29 PM

          I have been having the issue, thanks so much for all the detailed information! I am going to do a fresh install with Jessy and downgrade Electron and MM2.

          1 Reply Last reply Reply Quote 0
          • M Offline
            mattn
            last edited by mattn Apr 17, 2018, 6:53 AM Apr 16, 2018, 10:02 PM

            First off, apologies for the necro! But I had to reinstall MM this weekend and came across this same issue. After a fair bit of time reinstalling/googling, I managed to resolve it by adding the following to /etc/environment

            ELECTRON_FORCE_WINDOW_MENU_BAR=1
            

            So thought I’d post it here in case anyone else experiences this.
            I’ve had the default install running for a while since adding the fix and my load avg has dropped from 6+ to “0.00, 0.02, 0.02” and electron seems to peak at around 7% every ~30s for about 2s. The rest of the time it isn’t even visible in top’s list.

            credit to reddit: https://www.reddit.com/r/kde/comments/5x9t7j/electron_app_high_cpu_usage/
            Edit: After adding my usual modules, electron’s CPU usage has gone up to a fairly constant ~9% across 3 processes.

            top - 00:04:33 up 25 min,  3 users,  load average: 0.06, 0.13, 0.13
            Tasks: 156 total,   2 running, 154 sleeping,   0 stopped,   0 zombie
            %Cpu(s):  2.0 us,  0.4 sy,  0.0 ni, 97.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
            KiB Mem:    947732 total,   486072 used,   461660 free,    26476 buffers
            KiB Swap:   102396 total,        0 used,   102396 free.   240288 cached Mem
            
              PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
             1387 pi        20   0  300260  98384  55840 S   4.9 10.4   0:45.48 electron
             1394 pi        20   0  286500  68700  49420 S   2.0  7.2   0:23.08 electron
             1358 pi        20   0  436408  78528  57656 S   1.0  8.3   0:19.25 electron
            

            Edit2: Left it running over night, and it’s stable:

            top - 07:51:22 up  8:12,  3 users,  load average: 0.24, 0.23, 0.17
            Tasks: 153 total,   1 running, 152 sleeping,   0 stopped,   0 zombie
            %Cpu(s):  2.1 us,  0.3 sy,  0.0 ni, 97.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
            KiB Mem:    947732 total,   543280 used,   404452 free,    34664 buffers
            KiB Swap:   102396 total,        0 used,   102396 free.   271040 cached Mem
            
              PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
             1798 pi        20   0  301180  99652  56580 S   5.3 10.5  22:54.84 electron
             1805 pi        20   0  321060  79368  50868 S   2.6  8.4  11:36.49 electron
             1770 pi        20   0  480972  82744  58648 S   1.0  8.7   7:20.91 electron
            
            D M 2 Replies Last reply Apr 17, 2018, 5:20 PM Reply Quote 3
            • D Offline
              Doum @mattn
              last edited by Apr 17, 2018, 5:20 PM

              @mattn I am pretty new to linux/raspbian… I do not have any file/folder under /etc with the name environment?

              Should i create a file and add this line in? add it somewhere else?

              Thanks

              M 1 Reply Last reply Apr 21, 2018, 9:01 PM Reply Quote 0
              • N Offline
                nparab
                last edited by Apr 17, 2018, 6:49 PM

                Thanks v.much to everyone on this forum. I just downgraded Electron to 1.4.15, without downgrading either MagicMirror2 or my OS, and my CPU usage and temperature are significantly down. But I’m facing yet another problem because of this downgrading of Electron. My MMM-PIR-Sensor module is giving this error:

                App threw an error during load
                Error: Module version mismatch. Expected 50, got 54.
                    at Error (native)
                    at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:173:20)
                    at Object.Module._extensions..node (module.js:583:18)
                    at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:173:20)
                    at Module.load (module.js:473:32)
                    at tryModuleLoad (module.js:432:12)
                    at Function.Module._load (module.js:424:3)
                    at Module.require (module.js:483:17)
                    at require (internal/module.js:20:19)
                    at bindings (/home/pi/MagicMirror/modules/MMM-PIR-Sensor/node_modules/bindings/bindings.js:81:44)
                Whoops! There was an uncaught exception...
                Error: Module version mismatch. Expected 50, got 54.
                    at Error (native)
                    at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:173:20)
                    at Object.Module._extensions..node (module.js:583:18)
                    at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:173:20)
                    at Module.load (module.js:473:32)
                    at tryModuleLoad (module.js:432:12)
                    at Function.Module._load (module.js:424:3)
                    at Module.require (module.js:483:17)
                    at require (internal/module.js:20:19)
                    at bindings (/home/pi/MagicMirror/modules/MMM-PIR-Sensor/node_modules/bindings/bindings.js:81:44)
                

                Any help on fixing this would be appreciated.

                1 Reply Last reply Reply Quote 0
                • N Offline
                  nparab
                  last edited by nparab Apr 17, 2018, 7:52 PM Apr 17, 2018, 7:51 PM

                  Fixed it! I just went to the modules/MMM-PIR-Sensor directory and did

                  npm install
                  

                  That fixed it.

                  1 Reply Last reply Reply Quote 1
                  • M Offline
                    mattn @Doum
                    last edited by Apr 21, 2018, 9:01 PM

                    @Doum Yeah, just create the file, paste that line, save and reboot.

                    1 Reply Last reply Reply Quote 1
                    • M Offline
                      martinkooij @mattn
                      last edited by martinkooij Apr 23, 2018, 6:21 PM Apr 23, 2018, 6:10 PM

                      @mattn What version of electron are you running? I downgraded to 1.4.15 electron, have v6.12.3 nodejs and 2.3.1Magic Mirror. I set the environment variable as you indicated. CPU usage goes down remarkably, although not as much as in your case.

                      Did you also got rid of a memory leak? I start with 43% free and this falls to 7% after a day. Stays between 5%-7% for a few days and then after 3-5 days my mirror halts completely with E_NOMEM panic in the log files. Any reader knows of handy memory leak analysistools for nodejs? It seems you keep on having 50% used / 50% free… Not me ;(.

                      top - 20:03:02 up 21:14,  3 users,  load average: 0,30, 0,33, 0,41
                      Tasks: 165 total,   2 running, 163 sleeping,   0 stopped,   0 zombie
                      %Cpu(s):  8,6 us,  4,5 sy,  0,0 ni, 86,9 id,  0,0 wa,  0,0 hi,  0,0 si,  0,0 st
                      KiB Mem:    949580 total,   907688 used,    41892 free,    60200 buffers
                      KiB Swap:   102396 total,     5172 used,    97224 free.   444532 cached Mem
                      
                        PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
                       1178 pi        20   0  828888 244624  65840 R  22,5 25,8 327:41.98 electron
                       1216 pi        20   0  603272 349144 290184 S  13,6 36,8 132:11.73 electron
                        666 root      20   0  200848  58756  28796 S  12,2  6,2 131:39.07 Xorg
                      24453 pi        20   0    5224   2580   2148 R   1,0  0,3   0:02.03 top
                      
                      M 1 Reply Last reply Apr 23, 2018, 6:33 PM Reply Quote 0
                      • 1
                      • 2
                      • 20
                      • 21
                      • 22
                      • 23
                      • 24
                      • 25
                      • 22 / 25
                      • First post
                        Last post
                      Enjoying MagicMirror? Please consider a donation!
                      MagicMirror created by Michael Teeuw.
                      Forum managed by Sam, technical setup by Karsten.
                      This forum is using NodeBB as its core | Contributors
                      Contact | Privacy Policy