Read the statement by Michael Teeuw here.
Electron CPU usage
-
Hey guys,
(first, sorry for my english. i hope you understand what i am trying to tell^^)
i have got the same problem as u all.
So i tried to fix it with using MagicMirror 2.1.0 and electron 1.4.15
Unfortunately i am not the best programer, so sometimes i don’t know if i’m doing anything right.
Well, i tried the option as shown in this thread on page 18 (https://forum.magicmirror.builders/post/28875)
That gave me some npm errors when i type “npm start”.
So i tried to use this guide: https://forum.magicmirror.builders/topic/5274/how-to-manually-install-mm-on-your-pi-for-absolute-beginnersBut it gave me the same errors.
Step by step i did:
- rename the original MM-Folder to “MagicMirror_OLD”
- Downloaded this https://github.com/MichMich/MagicMirror/archive/v2.1.0.zip
- extract it and rename it to “MagicMirror”
- cd in this folder and type “npm install”
- after installing was done i typed “npm start” and got this:
pi@MagicMirror:~ $ cd ~/MagicMirror/ pi@MagicMirror:~/MagicMirror $ npm start > magicmirror@2.1.0 start /home/pi/MagicMirror > electron js/electron.js npm ERR! Linux 4.9.59-v7+ npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "start" npm ERR! node v6.12.2 npm ERR! npm v3.10.10 npm ERR! code ELIFECYCLE npm ERR! magicmirror@2.1.0 start: `electron js/electron.js` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the magicmirror@2.1.0 start script 'electron js/electron.js'. npm ERR! Make sure you have the latest version of node.js and npm installed. npm ERR! If you do, this is most likely a problem with the magicmirror package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! electron js/electron.js npm ERR! You can get information on how to open an issue for this project with: npm ERR! npm bugs magicmirror npm ERR! Or if that isn't available, you can get their info via: npm ERR! npm owner ls magicmirror npm ERR! There is likely additional logging output above. npm ERR! Please include the following file with any support request: npm ERR! /home/pi/MagicMirror/npm-debug.log pi@MagicMirror:~/MagicMirror $
Another time i tried as shown on page 18. it was showing me, that i was using electron 1.4.15, but when i typed the “npm start” it shows me the same message as above.
i don’t know what to do :( would be quite nice, if u guys could invest some time to solve my problem together. thank you very much :)
edit:
the “npm-debug.log” is here:
``
0 info it worked if it ends with ok
1 verbose cli [ ‘/usr/bin/node’, ‘/usr/bin/npm’, ‘start’ ]
2 info using npm@3.10.10
3 info using node@v6.12.2
4 verbose run-script [ ‘prestart’, ‘start’, ‘poststart’ ]
5 info lifecycle magicmirror@2.1.0~prestart: magicmirror@2.1.0
6 silly lifecycle magicmirror@2.1.0~prestart: no script for prestart, continuing
7 info lifecycle magicmirror@2.1.0~start: magicmirror@2.1.0
8 verbose lifecycle magicmirror@2.1.0~start: unsafe-perm in lifecycle true
9 verbose lifecycle magicmirror@2.1.0~start: PATH: /usr/lib/node_modules/npm/bin/node-gyp-bin:/home/pi/MagicMirror/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
10 verbose lifecycle magicmirror@2.1.0~start: CWD: /home/pi/MagicMirror
11 silly lifecycle magicmirror@2.1.0~start: Args: [ ‘-c’, ‘electron js/electron.js’ ]
12 silly lifecycle magicmirror@2.1.0~start: Returned: code: 1 signal: null
13 info lifecycle magicmirror@2.1.0~start: Failed to exec start script
14 verbose stack Error: magicmirror@2.1.0 start:electron js/electron.js
14 verbose stack Exit status 1
14 verbose stack at EventEmitter. (/usr/lib/node_modules/npm/lib/utils/lifecycle.js:255:16)
14 verbose stack at emitTwo (events.js:106:13)
14 verbose stack at EventEmitter.emit (events.js:191:7)
14 verbose stack at ChildProcess. (/usr/lib/node_modules/npm/lib/utils/spawn.js:40:14)
14 verbose stack at emitTwo (events.js:106:13)
14 verbose stack at ChildProcess.emit (events.js:191:7)
14 verbose stack at maybeClose (internal/child_process.js:920:16)
14 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:230:5)
15 verbose pkgid magicmirror@2.1.0
16 verbose cwd /home/pi/MagicMirror
17 error Linux 4.9.59-v7+
18 error argv “/usr/bin/node” “/usr/bin/npm” “start”
19 error node v6.12.2
20 error npm v3.10.10
21 error code ELIFECYCLE
22 error magicmirror@2.1.0 start:electron js/electron.js
22 error Exit status 1
23 error Failed at the magicmirror@2.1.0 start script ‘electron js/electron.js’.
23 error Make sure you have the latest version of node.js and npm installed.
23 error If you do, this is most likely a problem with the magicmirror package,
23 error not with npm itself.
23 error Tell the author that this fails on your system:
23 error electron js/electron.js
23 error You can get information on how to open an issue for this project with:
23 error npm bugs magicmirror
23 error Or if that isn’t available, you can get their info via:
23 error npm owner ls magicmirror
23 error There is likely additional logging output above.
24 verbose exit [ 1, true ] -
@cruunnerr - I `ve done it !
without previous Unistalli have downgraded with:
sudo npm install -g electron@1.4.15
Sandy2503
-
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.
-
Bad issue with electron. When i downgrade to 1.4.15 the default calender module does not work
ok…calendar works fine
-
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 -
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.
-
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
-
@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
-
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.
-
Fixed it! I just went to the modules/MMM-PIR-Sensor directory and did
npm install
That fixed it.