FHEM (Perl) läuft mit 100% CPU Last bei Neuinstallation?

Begonnen von nicor2k, 05 Oktober 2015, 14:47:46

Vorheriges Thema - Nächstes Thema

ext23

#45
So ich hab ein

$buf = DevIo_TimeoutRead($hash, 0.1);

in die Read Funktion gepackt und schon sieht das ganze besser aus. Jetzt wird die Funktion nicht mehr aufgerufen, da war also noch irgend was im Buffer. Danke.

Endlich wird der Server wieder ruhiger und 10 Watt weniger verbraucht er auch ;-)

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

rudolfkoenig

Zitatdie Antwort vom DMX Controller interessiert mich garnicht um es mal krass zu sagen
Aah. So geht es nicht, man muss hoeflich bleiben, und dem anderen auch zuhoeren.

Wenn du vom select aufgerufen wirst, reicht ein DevIo_SimpleRead, dass select sich meldet, ohne dass was zu lesen waere, habe ich noch nicht erlebt. Ok, Ausnahme: das Geraet wurde entfernt, aber DevIo_SimpleRead behandelt das auch.

ext23

Naja macht alles Sinn ja, hatte ich halt nicht aufm Schirm gehabt beim programmieren. Ich war froh, dass mein Modul macht es es soll :-) Ich war fest der Meinung das ich nach dem Senden an den Controller danach den Puffer leere wo die "unnütze" Antwort drin steht, war aber ein Trugschluss.

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

wange2

Hi MarioR,
dein Tip mit sleep(10) hat mir geholfen. Gerade fhem 5.9 auf raspi 4 und debian installiert.
100% cpu von user fhem mit perl.
Bei meiner installation habe ich in /etc/init.d allerdings kein fhem script gefunden. Dafür aber einen Definitionsfile in /etc/systemd/system. Da konnte man das sleep nicht einbauen.
Nun habe ich das Statement sleep(20); direkt in das Script /opt/fhem/fhem.pl ganz an den Anfang nach den Definitionen eingefügt. Nun läuft das prima nach Neustart.

Otto123

Zitat von: wange2 am 05 Oktober 2019, 17:16:30
Nun habe ich das Statement sleep(20); direkt in das Script /opt/fhem/fhem.pl ganz an den Anfang nach den Definitionen eingefügt. Nun läuft das prima nach Neustart.
Das tut man nicht :(

Besser so: https://forum.fhem.de/index.php?topic=104132.0

Und etwas Linux Prosa lesen hilft auch :)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz