RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Performance Monitoring - netdata

    Scheduled Pinned Locked Moved General Discussion and Gaming
    performancemonitoringtemperaturecpu
    5 Posts 2 Posters 1.9k Views
    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.
    • A
      AndrewH
      last edited by

      I've seen quite a few threads about retropie performance and temperature, and I wanted to share this in the hopes it's useful;

      Netdata is a very lightweight real-time performance monitoring tool. While its main use appears to be for server monitoring, there's also a section in the documentation where they talk about how it can be tailored to lower-power IOT devices (including Raspberry Pi) - in fact the big reason why I even installed it in the first place was because I wanted to monitor the operating temperature of the Pi3 in my bartop.

      It's got a lot of documentation in the wiki, but it's still very easy to get started with.
      Here's the installation guide
      And here's how to set it up for IOT devices
      (it's possible to disable a lot of the plugins to further save resources, you can also throttle the update frequency, disable logs, and also disable writes to memory)

      Another great feature is that it presents its dashboards via a web interface, so you can (for example) play a game, and have real-time indication of how much CPU is being used, and what temperature is being reached.

      The only (minor) downside I've found is that it will take your Pi a little longer to shut down after selecting "Shutdown System" in the ES menu - maybe an extra 30 seconds or so.

      jonnykeshJ 1 Reply Last reply Reply Quote 2
      • jonnykeshJ
        jonnykesh @AndrewH
        last edited by jonnykesh

        @andrewh Seems like a handy tool but overkill. I just run a simple shell script via ssh on another device to monitor the temperature. It would be very easily adjusted to include other info such as memory use, cpu frequency etc.

        0_1510923061732_newss.png

        1 Reply Last reply Reply Quote 1
        • A
          AndrewH
          last edited by

          I'm not entirely sure I'd agree.

          Installation is very straightforward, and resource usage is quite low - particularly when tuned for IOT devices.

          And a big advantage is that it logs data over time, so it's possible to review the previous couple of minutes to an hour in order to get visibility of transient spikes.
          So, I can play a game, give the game full attention, and then afterwards see what the peak temperature or peak CPU usage reached was.
          With no disrespect towards your script, there's the danger that adding too much more to it would potentially have more of an impact on performance than netdata would.

          Anyway, I think it's fair to say that there are many ways to do things - your script is definitely the best fit for some use cases, and it's possible that netdata is for some others.

          1 Reply Last reply Reply Quote 2
          • A
            AndrewH
            last edited by

            @jonnykesh - do you have that shell script shared anywhere? Why not add it to this thread, as another available option for anyone interested in trying it out...

            jonnykeshJ 1 Reply Last reply Reply Quote 0
            • jonnykeshJ
              jonnykesh @AndrewH
              last edited by

              #!/bin/sh
              while true
              do
              clear
              BYELL=`echo "\033[01;33m"` #boldyellow
              ORNG=`echo "\033[33m"`     #orange
              WHITE=`echo "\033[01;37m"` #bold white
              RED=`echo "\033[31m"`      #red
              RESET=`echo "\033[m"`      #reset
              
              temp=$(vcgencmd measure_temp)
              temp=${temp:5:4}
              
              echo -e "${RESET}${ORNG}Device:${BYELL}`whoami`@`uname -n`${WHITE}                              `date +"%a %d %b %Y %R %Z"`${RESET}${ORNG}                              IP:${BYELL}`ip route get 8.8.8.8 2>/dev/null | head -1 | cut -d' ' -f8`${RESET}"
              echo
              echo
              echo
              echo
              echo
              echo
              echo
              echo
              echo
              echo
              echo
              echo -e "                                                 ${ORNG}************************"
              echo -e "                                                 [${BYELL}   CPU Temp: ${temp}°C${RESET}${ORNG}   ]"
              echo -e "                                                 ${ORNG}************************${RESET}"
              echo
              echo
              echo
              echo
              echo
              echo
              echo
              echo
              echo
              echo -e "                                        ${BYELL}CPU temperature is updated every 5 seconds.${RESET}"
              echo
              echo -e "                                                   ${ORNG}Press Ctrl+C to exit."${RESET}
              tput cuf 118
              sleep 5;
              clear
              done
              
              1 Reply Last reply Reply Quote 1
              • First post
                Last post

              Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

              Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.