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 597.6k 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.
    • M Offline
      mattn @martinkooij
      last edited by

      @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

      M 1 Reply Last reply Reply Quote 1
      • M Offline
        martinkooij @mattn
        last edited by martinkooij

        @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.

        1 Reply Last reply Reply Quote 0
        • M Offline
          martinkooij
          last edited by martinkooij

          @mattn and others.
          I have a stable situation with the following:

          • electron 1.4.15 (withELECTRON_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)

          1 Reply Last reply Reply Quote 1
          • C Offline
            cdelaorden
            last edited by

            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

            E MichMichM 2 Replies Last reply Reply Quote 1
            • E Offline
              E3V3A @cdelaorden
              last edited by

              @cdelaorden

              • 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?

              "Everything I do (here) is for free – altruism is the way!"
              MMM-FlightsAbove, MMM-Tabulator, MMM-Assistant (co-maintainer)

              C 1 Reply Last reply Reply Quote 0
              • C Offline
                cdelaorden @E3V3A
                last edited by

                @e3v3a
                You can check it in the config.txt

                or 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

                1 Reply Last reply Reply Quote 0
                • J Offline
                  Juju
                  last edited by

                  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.
                  0_1526304772560_Unbenannt.JPG
                  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”?

                  Mykle1M 1 Reply Last reply Reply Quote 0
                  • Mykle1M Offline
                    Mykle1 Project Sponsor Module Developer @Juju
                    last edited by

                    @juju

                    pm2 stop mm
                    pm2 delete mm
                    pm2 save
                    rm ~/mm.sh

                    Create a working config
                    How to add modules

                    1 Reply Last reply Reply Quote 2
                    • MichMichM Offline
                      MichMich @cdelaorden
                      last edited by

                      @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.

                      1 Reply Last reply Reply Quote 0
                      • MichMichM Offline
                        MichMich
                        last edited by

                        I added some info about the Open GL driver to the Wiki:
                        https://github.com/MichMich/MagicMirror/wiki/Configuring-the-Raspberry-Pi#enable-the-open-gl-driver-to-decrease-electrons-cpu-usage

                        Hein-JanH 1 Reply Last reply Reply Quote 3
                        • Hein-JanH Offline
                          Hein-Jan @MichMich
                          last edited by

                          @michmich

                          I seem to be running into some kind if trouble. My SD card failed, so I had to do a clean install. I decided to immediately go for the full KMS driver.
                          “$ tail /boot/config.txt | grep dtoverlay” results in “dtoverlay=vc4-kms-v3d”.

                          The CPU usage is alright, but “/home/pi/.pm2/logs/mm-error-o.log” states:

                          libGL error: MESA-LOADER: failed to retrieve device information
                          MESA-LOADER: failed to retrieve device information
                          MESA-LOADER: failed to retrieve device information
                          

                          I am having trouble with the monitor. I am using MMM-Remote-Control.
                          “MONITOROFF” results in “/home/pi/.pm2/logs/mm-error-o.log”:

                          Powering off HDMI
                          

                          “MONITORON” results in “/home/pi/.pm2/logs/mm-error-o.log”:

                          Powering on HDMI with preferred settings
                          
                          [E] Failed to power on HDMI with preferred settings
                          
                          { Error: Command failed: tvservice --preferred && sudo chvt 6 && sudo chvt 7
                          [E] Failed to power on HDMI with preferred settings
                          
                              at ChildProcess.exithandler (child_process.js:217:12)
                              at emitTwo (events.js:106:13)
                              at ChildProcess.emit (events.js:194:7)
                              at maybeClose (internal/child_process.js:899:16)
                              at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)
                            killed: true,
                            code: null,
                            signal: 'SIGTERM',
                            cmd: 'tvservice --preferred && sudo chvt 6 && sudo chvt 7' }
                          Powering off HDMI
                          

                          I may be wrong but I feel this is related to the Full KMS driver.

                          Can anyone confirm? Does anyone have a solution?
                          I am way out of my depth here…

                          C 1 Reply Last reply Reply Quote 0
                          • D Offline
                            Dom1n1c
                            last edited by

                            @Hein-Jan I got the same issue.
                            A few minutes, the monitor could be controlled, but then “tvservice -p” fails to power on the monitor.

                            1 Reply Last reply Reply Quote 0
                            • C Offline
                              cdelaorden @Hein-Jan
                              last edited by cdelaorden

                              @hein-jan @Dom1n1c

                              Please use the fake kms driver instead “dtoverlay=vc4-fkms-v3d”

                              it its known that the full kms driver isnt compatible with tvservice plus other restrictions

                              EDIT:
                              Also with the fake KMS you can rotate the display from /boot/config.txt so I suggest @michmich using it as the preferred method in the wiki

                              1 Reply Last reply Reply Quote 2
                              • S Offline
                                schmo90
                                last edited by

                                @cdelaorden said in Electron CPU usage:

                                the full kms driver isnt compatib

                                hy now i use the fake kms driver, everything is working fine and realy fast.
                                but i have the problem that the mirror will go to a black screen after some hours.

                                only a pm2 restart mm helps in this case -.-

                                C 1 Reply Last reply Reply Quote 0
                                • C Offline
                                  cdelaorden @schmo90
                                  last edited by

                                  @schmo90 mmm havent had that problem, everything its working fine

                                  Have you deactivated the screensaver as its shown in the wiki?

                                  Also, are you using a module like MMM-Remote-Control to turn off the screen?

                                  If you see a black screen and the mouse but nothing else you are probably missing “sudo chvt 6 && sudo chvt 7” in your statement after turning hdmi back on. You can test it in ssh after forcing the issue.

                                  Also if you are concatenating commands like Hein-Jan did with “tvservice --preferred && sudo chvt 6 && sudo chvt 7” have in mind that commands after && are only executed if no errors are found. So maybe “tvservice -p” its working correctly but its giving some feedback and things after && aren’t executed.

                                  You could force it by using ; as a separator instead of && so it doesn’t look for an answear

                                  1 Reply Last reply Reply Quote 0
                                  • S Offline
                                    schmo90
                                    last edited by

                                    hy i didnot turn off the hdmi,

                                    i will turn off the lcd with the gpio’s

                                    screen is turning on normal but electron browser is showing a black screen (mous appears at moving)

                                    1 Reply Last reply Reply Quote 0
                                    • binderthB Offline
                                      binderth
                                      last edited by

                                      adding another flavour:
                                      As my Foscam FI9900P got an ONVIF-Update lately and is now capable of RTSP-streaming I installed MMM-RTSPStream.

                                      • activated fake (or full) OpenGL Desktop driver:
                                        omxplayer crashes
                                      • activated non-GL desktop driver:
                                        omxplayer runs

                                      So, as I see it, the omxplayer problem doesn’t concern MagicMirror - is there another way to reduce Electron CPU usage - except using an Open-GL dekstop driver?

                                      PS: activating fake KMS reduced CPU usage as recommended in this thread - but I’d like to have the video-stream of my cam on the MM (unfortunately it doesn’t provide MJPEG)

                                      C 1 Reply Last reply Reply Quote 0
                                      • C Offline
                                        cdelaorden @binderth
                                        last edited by cdelaorden

                                        hi @binderth
                                        the fake-kms was created for keeping omxplayer compatibility but you need to add the “–no-osd” flag to the omxplayer command line

                                        you might want to try it

                                        dont bet on it, but changing line 101 of node_helper.js to

                                        var args = ["--no-osd", "--live", "--video_queue", "4", "--fps", "30",
                                        

                                        might do the trick

                                        1 Reply Last reply Reply Quote 0
                                        • V Offline
                                          vinp Module Developer
                                          last edited by

                                          MM 2.4.1 - if anyone is trying to look for it while searching for forums. Apologies if it has already been stated

                                          So i’ve done it both ways:
                                          dtoverlay=vc4-kms-v3d
                                          I noticed that my CPU temp is well into the 60-70 degree Celsius with CPU loads mostly in the 1.x, 2.x, and sometimes 3.x ranges

                                          When i try the other way :
                                          dtoverlay=vc4-fkms-v3d
                                          CPU is much lower in temp under 50 degrees Celsius and CPU load rarely goes above 1.x
                                          and i am able to use the tvservice -o and tvservice -p to schedule my monitor to go on and off at certain times

                                          Hopefully this helps anyone searching for this issue on new installs like myself

                                          1 Reply Last reply Reply Quote 4
                                          • J Offline
                                            jaffons
                                            last edited by jaffons

                                            So i ran into this issue as well. I started MM stuff 2-3 weeks ago.

                                            When everything was working my logs show:

                                            • I had the previous mm version ( probably 2.3.1)
                                            • Enable the Open GL driver, fake KMS (via raspi-config)
                                            • Disabling the screensaver https://www.raspberrypi.org/forums/viewtopic.php?t=57552
                                            • Autohiding the Mouse Pointer
                                            • rotate screen 270deg(CW), display_rotate=3 at /boot/config.txt
                                            • I also had the dtoverlay=vc4-fkms-v3d line there
                                            • I was getting this error though (thrunpm start ):
                                            libGL error: MESA-LOADER: failed to retrieve device information
                                            MESA-LOADER: failed to retrieve device information
                                            MESA-LOADER: failed to retrieve device information
                                            

                                            Anyway I messed something on my modules and had to reinstall the Raspbian. Same as before, Stretch 7/-18

                                            • Rotate screen at /boot/config.txt
                                            • installed the MM 2.4.1 and tried it straight away default config and modules. It was working alright
                                            • Disabling the screensaver https://www.raspberrypi.org/forums/viewtopic.php?t=57552
                                            • Autohiding the Mouse Pointer
                                            • I think I added the dtoverlay=vc4-fkms-v3d line…
                                              • and boom animations started lagging (+high CPU)
                                              • also npm start dev didnt work. It launched but no mirror was shown and if i had mm running it would stop refreshing.

                                            Any way I figured out that taking that commenting out that # dtoverlay=vc4-fkms-v3d everything works flawlessy. I dont get the “libGL”-error
                                            and I also updated npm 5.6.0 → 6.2.0 sudo npm i -g npm and npm start dev started working (dev or no dev).

                                            My Rpi temperature is under 50C when mm is running (no heatsink).

                                            Hope this helps out someone!

                                            A 1 Reply Last reply Reply Quote 4

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 9
                                            • 10
                                            • 11
                                            • 12
                                            • 13
                                            • 12 / 13
                                            • 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