Hohe Prozessorlast => Temperatur Raspberry Pi

Hallo zusammen,

ich habe seit ca. 2-3 Monaten IPS auf einem RP3 laufen.
Der Pi macht ausschleßlich IPS.
Letzte Woche ist der PI ausgestiegen. Er war sehr heiß geworden und ich hatte gedacht, das es an den hohen Umgebungtemperaturen gelegen hat (26°C).
Jetzt habe ich einmal die Pi Parameter geloggt. Im Normalbetrieb habe ich 4-5% Prozessorauslastung und 45-55°C Prozessortemperatur.
Doch plötzlich steigt zwischendurch die Prozessorlast auf bis zu 100% und dementsprechend die Temperatur auf über 80°C. Das macht der PI nicht lange mit (max 2h) und dann fällt alles aus.
Ich habe mal im Taskmanager geschaut als die Last so hoch war. Dort wurden mir auch 100% Last angezeigt und IPS ist der Verursacher.

Ich hoffe ihr könnt wir da helfen. Bis letzte Woche war ich top zufrieden mit IPS auf dem Pi.

Hallo Kiter11,

installier Dir das Paket HTOP auf dem Pi.

Das ist die etwas übersichtlichere Variante von TOP.

Damit kannst du dir die Prozesse ansehen und auch sehen wer die Leistung frisst.

Irgendwelche Updates auf dem Pi gemacht ?

Edit:
Sorry gerade noch mal gelesen:
IPS erzeugt die Last ?
Hast Du geOverClocked ? (geiles Denglish)

Noch Edit:
Welcher Taskmanager ?

UND - wenn Du etwas änderst in deinem Post mach es sichtbar.
Sonst passt evtl eine Anwort nicht mehr zum vorherigen Post.
Besser du „Antwortest“ und fügst Zitate ein
Danke Dir :wink:

Gruß
lueralba

@Kiter11

Bin noch am Nachdenken zur Fehlersuche…

Schau doch mal in der IPS Console (‚Expertenansicht hinzufügen‘ - ‚PHP Informationen‘).
Hängt in dem Moment ein Script fest ?

lueralba

ja da hätte ich auch selbst drauf kommen können!:banghead:
Es hatte sich ein Skript welches 1x pro Sekunde aufgerufen wird (ABER EIGENTLICH MAX 10 mal) aufgehangen.
Es hat irgendwie zwar schön bis 10 gezählt, aber anstatt aufzuhören wider bei Null angefangen.
Jetzt muss ich mal schauen wo da der Teufel im Detail steckt.

ABER, mir ist noch eins aufgefallen. Ich benutze folgendes Script für das auslesen des Pi:


 <?
//$CatID = IPS_GetCategoryIDByName("Raspberry Pi", 0);

$varid = 56596 /*[Funktionen\Allgemein\System Status\Raspberry Pi\CPU-Frequenz]*/; //CreateVariableByName($CatID, "CPU-Frequenz", 1);
SetValueInteger($varid, (int)substr(exec('vcgencmd measure_clock arm'), 14, 9)/1000000);

$varid = 48305 /*[Funktionen\Allgemein\System Status\Raspberry Pi\CPU-Temperatur]*/; //CreateVariableByName($CatID, "CPU-Temperatur", 2, "~Temperature");
SetValueFloat($varid, (float)substr(exec('vcgencmd measure_temp'), 5, 4));

$varid = 53969 /*[Funktionen\Allgemein\System Status\Raspberry Pi\CPU-Auslastung]*/; //CreateVariableByName($CatID, "CPU-Auslastung", 2, "~Humidity.F");
SetValueFloat($varid, 100 - (float)(exec('LANG=C top -b -n1 -d1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/"')));  

$varid = 31384 /*[Funktionen\Allgemein\System Status\Raspberry Pi\CPU-Spannung]*/; //CreateVariableByName($CatID, "CPU-Spannung", 2, "~Volt");
SetValueFloat($varid, (float)substr(exec('vcgencmd measure_volts'), 5, 6));

return;

function CreateVariableByName($fatid, $name, $type, $profile = "")
{
    $vid = @IPS_GetVariableIDByName($name, $fatid);
    if($vid === false)
    {
        $vid = IPS_CreateVariable($type);
        IPS_SetParent($vid, $fatid);
        IPS_SetName($vid, $name);

        if($profile !== "")
        {
            IPS_SetVariableCustomProfile($vid, $profile);
        }
    }
    return $vid;
}
?> 

Ich habe jetzt festgestellt, das die angenommene Prozessorlast nicht die der CPU sondern des MEM ist.
Kennt da jemand den Befehl um die CPU LAst auszulesen? (Verglichen habe ich die Werte mit den Daten des SimplePi-App)

Hallo Kiter11.

Ich hol mir die Werte so:


$load = sys_getloadavg();
SetValueFloat(10261 /*[SYSTEM\CPU\Pi 1 Min]*/  , $load['0']);
SetValueFloat(32998 /*[SYSTEM\CPU\Pi 5 Min]*/  , $load['1']);
SetValueFloat(20371 /*[SYSTEM\CPU\Pi 15 Min]*/  , $load['2']);

Siehe hier:
http://php.net/manual/de/function.sys-getloadavg.php

Edit:
Alle 60 Sekunden pollen reicht,

Nicht auf Windows-Plattformen…

Gruß
lueralba

Ich habe die Daten früher auch so geholt, bis ich das gefunden hatte:
https://www.symcon.de/forum/threads/32284-Modul-zur-Nutzung-der-Raspberry-Pi-GPIO?highlight=GPIO

Vielen Dank für den Tip. Bin nun auch „umgezogen“!