Read the statement by Michael Teeuw here.
Electron CPU usage
-
@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
-
@martinkooij TBH, I have no clue how to check my electron version, but I used the MM install script and haven’t downgraded anything. So I’m running the version supplied by the script as of approximately two weeks ago.
I’ve not noticed any mem issues. My mirror’s been up 6 days mem usage is ~10% per process:
top - 19:19:50 up 6 days, 8:37, 3 users, load average: 0.13, 0.24, 0.20 Tasks: 155 total, 1 running, 153 sleeping, 0 stopped, 1 zombie %Cpu(s): 32.7 us, 4.8 sy, 0.0 ni, 62.5 id, 0.1 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem: 947732 total, 674684 used, 273048 free, 96984 buffers KiB Swap: 102396 total, 0 used, 102396 free. 288436 cached Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1099 pi 20 0 310396 98548 55500 S 104.4 10.4 765:21.28 electron 1111 pi 20 0 366396 102884 51368 S 21.5 10.9 297:36.05 electron 1071 pi 20 0 474832 84892 58020 S 12.3 9.0 244:20.94 electron
Could it be a module causing it? Or try reinstalling MM with the script and see what happens with the default install/modules
As far as my modules go, I’m only using the date and weather mods from standard and then 4 custom mods(technically 2, as 3 are separate instances of the same mod for bus/train times).
Regards,
Matt
-
@mattn thanks! I love my modules, so difficult to lose one ;).
It however seems you have a slow leak too, growing memory usage of ca 200Mbyte in 6 days. Much less than me, but still more than it should be, I guess. Just let us know how you fare! Thanks for sharing.
-
@mattn and others.
I have a stable situation with the following:- electron 1.4.15 (with
ELECTRON_FORCE_WINDOW_MENU_BAR=1
).
higher elektron version gives black screen, the environment variable lowers the cpu-usage by elektron considerably). - Magic Mirror 2.3.1 (actually I was quick to install MM2.3.0 but manually downgraded electron, but I am quite sure that amounts to the same as installing MM 2.3.1).
- nodejs version v9.11.1. (I used to have a 1.6.x nodejs, but that one caused memory leaks. )
Is now running in this configuration almost 7 days without interrupt. And no signs of stopping soon. Thanks you all in this forum for the help.
(Rasberry pi 3, Jessie, CPU Hardware: BCM2835, Revision: a02082)
- electron 1.4.15 (with
-
Hi guys
Im new to the forum and this project but I have some small experience with the Pis and having the same issue
I think that its related to the video driver, using ‘sudo raspi-config’ and changing the video driver to one of the GL drivers resulted in a much lower cpu load in my case.
Doesn’t matter if you choose full KMS or fake KMS as long as you dont use the legacy non-GL driver.
It took my 4 CPU from full 100% to idle bellow 35%
Im sure someone else with this problem can confirm this
-
- How can we check the video driver without using rapsi-conf?
in dmesg? in systemd journal? - How/where do you set the:
ELECTRON_FORCE_WINDOW_MENU_BAR=1
. - What would be the easiest way for users to check electron version from command line?
- How can we check the video driver without using rapsi-conf?
-
@e3v3a
You can check it in the config.txtor just do a “tail /boot/config.txt | grep dtoverlay” to check what version is enabled
all the rest of my configuration is the default one after a fresh install from the current version of MM and Raspbian, I havent touched anything from electron
-
Omg, yes finally! :D
First I followed this installation guide: https://forum.magicmirror.builders/topic/236/complete-setup-tutorial/3
I had the electron CPU issue. So I downgraded to electron version 1.4.15. The CPU usage went down from 90% to 70%. It was still laggy as hell.
I then formatted the microSD card and followed that youtube guide: https://www.youtube.com/watch?v=0Q04SKvibik
Downgraded to 1.4.15 again and now it’s running great with a CPU usage of like 5% with spikes to 50%, when there is an animation on the screen.But I have one question.
After I finished the youtube tutorial I have the “MagicMirror” and the “mm”. Both autostart when I boot the raspberry pi.
Which use has the “mm”? -
pm2 stop mm
pm2 delete mm
pm2 save
rm ~/mm.sh -
@cdelaorden I think you’ve found the issue! Awesome work!
For others please note that when you start raspi-config and go to “Advanced Options” > “GL Driver”, the top one will always be selected, no matter which one is active. After selecting one of the two top drivers (GL), it might solve the hi CPU load issue …
It solved it on a clean installed Pi 3 for me.