Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Rpi-Adapter CPU Load

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Rpi-Adapter CPU Load

    This topic has been deleted. Only users with topic management privileges can see it.
    • lobomau
      lobomau last edited by

      Meine Frage/Feststellung geht in die selbe Richtung.

      Der RPI Adapter zeigt bei mir Werte an wie:

      load1 = 0.39

      load5 = 0.23

      load15 = 0.25

      Frage: wofür stehen die einzelnen loads? Wahrscheinlich entspricht das 39%, 23% und 25%!?

      Diese Werte stimmen aber nicht überein mit den Werten, wenn ich die Auslastung über die Android App RasPi Check auslese (8%).

      Weiß jemand wie ich an diese 8% komme über iobroker?

      Der einzige Wert, den ich von RPI nutzen kann ist die Temperatur.

      Unten habe ich zur selben Zeit die Daten gegenübergestellt (siehe screenshot)

      <size size="85">(die letzten Wochen hatte ich Probleme mit Temperatur über 70°C und Auslastung von 33%. Anschließender Neustart vom Raspi (nach 2 Monaten ohne Neustart) und gleichzeitiger Aktualisierung auf js-controller 0.11.1 ist das Problem seit 23 Std behoben.)</size>
      1146_225517231_66436.jpg
      1146_rpi.gif

      1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators last edited by

        Die Load average ist nicht die Auslastung der CPU.

        https://de.wikipedia.org/wiki/Load

        Was der Adapter anzeigt ist die Load average der letzten, der letzten 5 und der letzten 15 Minuten

        Was deine App anzeigt ist die tatsächliche Auslastung der CPU.

        Dies erhältst du auch mit dem Befehl top über die SSH Konsole
        144_img_20160810_221732_371.jpg
        Im Prinzip ist es 100% - die hier gezeigte Idle von 99,3%=0,7%

        Vielleicht kann einer der scriptcracks dazu ein js Skript schreiben, das einen entsprechenden Datenpunkt anlegt und regelmäßig updated.

        Gruß

        Rainer

        1 Reply Last reply Reply Quote 0
        • A
          aleks-83 last edited by

          @lobomau:

          Meine Frage/Feststellung geht in die selbe Richtung.

          Der RPI Adapter zeigt bei mir Werte an wie:

          load1 = 0.39

          load5 = 0.23

          load15 = 0.25

          Frage: wofür stehen die einzelnen loads? Wahrscheinlich entspricht das 39%, 23% und 25%!?

          … `
          Ich frage hier nochmal nach…

          Denn ich hatte es auch so verstanden dass die Werte x100 = % ergeben.

          Aber ich bekomme gelegentlich Werte >1 angezeigt.

          Das kann ja dann irgendwie nicht passen.

          Muss man hier einen Faktor verwenden?

          Oder sind die Load Werte einfach unzuverlässig/falsch?

          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 last edited by

            @Homoran:

            Vielleicht kann einer der scriptcracks dazu ein js Skript schreiben, das einen entsprechenden Datenpunkt anlegt und regelmäßig updated. `
            Ich verwende dieses Skript zur Anzeige der CPU-Last.

            // CPU-Last aus Datei /proc/stat ermitteln
            
            var fs = require('fs');
            var idLast = getIdByName('Service.CPU-Last');
            var fn = '/proc/stat';
            
            var cpuUser = 0;
            var cpuNice = 0;
            var cpuSystem = 0;
            var cpuIdle = 0;
            
            function cpuLast(text) {
                var lines = text.split('\n');
                var cpu = lines[0].split(' '); 
                var cUser = parseFloat(cpu[2]) - cpuUser;
                var cNice = parseFloat(cpu[3]) - cpuNice;
                var cSystem = parseFloat(cpu[4]) - cpuSystem;
                var cIdle = parseFloat(cpu[5])- cpuIdle;
                var last = 100 * (1 - cIdle / (cUser + cNice + cSystem + cIdle));
                setState(idLast, Math.round(10 * last) / 10, true);
                cpuUser = parseFloat(cpu[2]);
                cpuNice = parseFloat(cpu[3]);
                cpuSystem = parseFloat(cpu[4]);
                cpuIdle = parseFloat(cpu[5]);
            }
            
            function getStat() {
                fs.readFile(fn, 'utf8',  function(err, text) {
                    if(err) log('Fehler beim Lesen von /proc/stat', 'error');
                    else cpuLast(text);
                });
            }
            
            schedule('*/10 * * * * *', getStat);
            
            
            1 Reply Last reply Reply Quote 0
            • A
              aleks-83 last edited by

              OK.

              Und wie bekomme ich da einen Wert raus auf die Visu? :oops:

              Und wird das nur alle 10 min. aktualisiert?

              Sorry, bin im javascript noch nicht so fit.

              1 Reply Last reply Reply Quote 0
              • 0
                0018 last edited by

                @aleks-83:

                Ich frage hier nochmal nach…

                Denn ich hatte es auch so verstanden dass die Werte x100 = % ergeben.

                Aber ich bekomme gelegentlich Werte >1 angezeigt.

                Das kann ja dann irgendwie nicht passen.

                Muss man hier einen Faktor verwenden?

                Oder sind die Load Werte einfach unzuverlässig/falsch? `

                Nicht ganz, siehe https://de.wikipedia.org/wiki/Load

                Der Load kann weit über 1 hinausgehen.

                Wenn der load < 1 ist, ist der Pi nicht gestresst alles läuft gut.

                load = 1, der Pi läuft optimal, alle Prozesse werden optimal abgearbeitet

                load > 1, der Pi wird stärker beansprucht, Prozesse dauern länger

                1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 last edited by

                  @aleks-83:

                  Und wie bekomme ich da einen Wert raus auf die Visu? `
                  Den Wert enthält der Datenpunkt mit der ID "javascript.0.Service.CPU-Last". Der muss vorher im Reiter "Objekte" mit dem Typ "Zahl" (number) und der unit "%" erzeugt werden.
                  @aleks-83:

                  Und wird das nur alle 10 min. aktualisiert? `
                  Nein, alle 10 s.

                  1 Reply Last reply Reply Quote 0
                  • A
                    aleks-83 last edited by

                    OK, danke euch !

                    Den Datenpunkt Service.CPU-Last habe ich erstellt.

                    Wenn ich dein Skript starte bekomme ifolgende Fehlermeldungen im Log:

                    javascript.0	2018-08-22 16:12:00.577	warn	at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:511:3)
                    javascript.0	2018-08-22 16:12:00.577	warn	at script.js.RaspberryPi.CPULastAuslesen:30:14
                    javascript.0	2018-08-22 16:12:00.576	warn	at cpuLast (script.js.RaspberryPi.CPULastAuslesen:20:5)
                    javascript.0	2018-08-22 16:12:00.574	warn	State "undefined" not found
                    
                    1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 last edited by

                      Hat der Datenpunkt auch den Namen "Service.CPU-Last" ? Wenn nicht, trage die ID direkt in Zeile 4 ein (ohne getIdByName()).

                      1 Reply Last reply Reply Quote 0
                      • A
                        aleks-83 last edited by

                        Also ich hatte einen Datenpunkt namens CPU-Last in einem Ordner Service im Javascript.0 Ordner angelegt.

                        Jetzt habe ich den Service Ordner gelöscht und den Datenpunkt unter Javascript angelegt.

                        Dann in deinem Skript den Namen "CPU-Last" angegeben.

                        Jetzt läuft es !

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate
                        FAQ Cloud / IOT
                        HowTo: Node.js-Update
                        HowTo: Backup/Restore
                        Downloads
                        BLOG

                        751
                        Online

                        31.9k
                        Users

                        80.1k
                        Topics

                        1.3m
                        Posts

                        5
                        11
                        4056
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo