Bericht: FHEM auf Stretch (Debian 9) RPI

Begonnen von curt, 30 Oktober 2017, 07:11:59

Vorheriges Thema - Nächstes Thema

Beta-User

Zur Klarstellung, weil das in Bezug auf FHEM mißverständlich formuliert war:
Es ging da eigentlich nicht um's installieren (das sollte man auch für FHEM über den "Debian-Way" erledigen), sondern um die Frage, wie Updates ins System kommen sollten ::) .

Btw., da hier scheinbar auch einige Linux-Noobs mitlesen: Auch für selbercompiliertes Zeugs gibt es einen Weg, wie man das zumindest wieder sauber aus einem Debian-System entfernen kann (und dann ggf. nach einem update neu kompilieren): https://wiki.debian.org/CheckInstall
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Wernieman

Das ist es gerade .. für Noobs ist der Distri weg eigentlich der einfachere .. die meisten Modulentwickler geben in Ihrer Doku den CPAN-Weg ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Nighthawk

Hallo zusammen,

ich hatte leider nicht soviel Glück mit dem Umstieg, denn das FHEM unter Stretch hat bei mir ein Speicherproblem.
Der Speicher wird konstant immer weiter belegt, sodass nach ca. 24 Stunden das FHEM nicht mehr sauber funktioniert und das Logfile mit folgenden Meldungen geflutet wird: "Cannot fork: Cannot allocate memory"
Es scheint irgendein Modul den Speicher zu fluten, allerdings nur unter Stretch, denn spiele ich das Backup von fhem aus Stretch auf ein Raspberry mit Jessie, funktioniert alles Einwandfrei.

Wernieman

Du könntest gucken, wmi8t der Speicher geflutet wird ... Stichworte: top, htop ....
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Nighthawk

Leider ist dort nichts eindeutiges zu finden, es ist der Prozess fhem der den Speicher verbraucht..

Otto123

Kann es sein, das Dir unter Stretch ein System Modul / Paket fehlt (weil es eventuell anders heißt) und deshalb das Modul FHEM spinnt?

Hast Du eine Liste Deiner Pakete die Du zusätzlich brauchst?
Mit diesem Script könntest Du testen ob alles installiert was Du brauchst. Manchmal übersieht man eine Fehlermeldung beim apt-get install.
Du übergibst einfach Deine Liste als Argumente. Geht für debian pakete und cpan pakete nach kleiner Umstellungen (Kommmentare)
bash software.sh paket1 paket2 paket3
# Eine von beiden Zeilen auskommentieren
#echo -n "cpan install " >notinstalled.sh
echo -n "apt-get install " >notinstalled.sh
while [ $# -gt 0 ]
do
# eine von beiden Zeilen auskommentieren
#perl -M$1 -e '' 2>/dev/null
dpkg -s $1 &> /dev/null

if [ $? -eq 0 ]; then
    echo $1" is installed!"
else
    echo $1" is not installed!"
    echo -n $1" " >>notinstalled.sh
fi
shift
done


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

Nighthawk

Hallo Otto,

danke, werde ich mal ausprobieren, aber ich bin mir ziemlich sicher, dass ich genau die gleichen Pakete installiert habe wie kurz danach auch mit Jessie.

Wernieman

Und im FHEM-Log steht auch nichts Auffälliges?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Otto123

War nur eine Idee. Und ich weiß z.B. sendemail hieß früher sendEmail und die Fehlermeldung lief mir beim apt-get "durch"  ::)
Und dich weiß (fällt mir momentan nicht konkret ein), dass ich mal ein Paket zum Modul nicht installiert hatte und es gab im Level 3 keine Meldung.
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

Nighthawk

@Wernieman
Im Log sehe ich nur dass fhem Probleme hat, nbicht aber wodurch diese erzeugt werden.
z.B.
"Cannot fork: Cannot allocate memory"
"Closing connection WEB_192.168.*** due to full buffer in FW_Notify"

@Otto
Ist klar, ich werde es nochmal checken.

Wernieman

Die frage ist: VOR den "Cannot allocate memory", denn der Fehler von "Kein Speicher mehr"

P.S. Strecht light"? oder mit Desktop??
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Nighthawk

Auch vorher ist nichts auffälliges zu sehen.

Stretch mit Desktop, ich könnte ja den ohne testen.

Otto123

#27
immer ohne Desktop nehmen -> raspbian-lite. Kein Noobs, kein Pixel, das ist alles ... bääh :'(
;D
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

Wernieman

Und führ auch zu mehr "Speicherverbrauch", da Teile der Grafischen Oberfläche schon geladen werden, auch wenn man sich NICHT anmeldet (auch wenn es nicht gaaans so schlimm wie bei Windows ist)

Und wie ist denn nun die Letzte meldung VOR dem ersten "Cannot allocate memory"?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Nighthawk

So sieht die letzte Meldung vor dem aller ersten Aufkommen von "Cannot allocate memory":

2018.02.06 06:40:10 1: Perfmon: possible freeze starting at 06:40:09, delay is 1.71
2018.02.06 06:40:11 1: Cannot fork: Cannot allocate memory
2018.02.06 06:40:11 1: Cannot fork: Cannot allocate memory


beim nächsten Auftreten war es dann folgendes:
2018.02.06 12:49:57 3: Setting Heizung serial parameters to 4800,8,E,2
2018.02.06 12:49:57 3: Heizung device opened
2018.02.06 12:50:03 1: Cannot fork: Cannot allocate memory


ab diesem Moment kam die Meldung in ~ 10min Takt, hier war noch verbose3 aktiv.

Dann habe ich verbose 5 aktiviert und wieder laufen lassen, hier sahen die letzten Zeilen so aus:

2018.02.08 06:23:09 4: HMUARTLGW myHmUART added peer: 520ACC, aesChannels: FFFFFFFFFFFFFFFF
2018.02.08 06:23:09 4: HMUARTLGW myHmUART UpdatePeerReq: 520ACC, state 90
2018.02.08 06:23:09 4: Closing connection WEB_192.168.178.201_60668 due to full buffer in FW_Notify
2018.02.08 06:23:09 4: Closing connection WEB_192.168.178.201_60668 due to full buffer in FW_Notify
2018.02.08 06:23:09 4: Closing connection WEB_192.168.178.201_60668 due to full buffer in FW_Notify
2018.02.08 06:23:10 4: Connection accepted from WEB_192.168.178.92_36362
2018.02.08 06:23:10 1: Perfmon: possible freeze starting at 06:23:04, delay is 6.197
2018.02.08 06:23:10 1: Cannot fork: Cannot allocate memory




@Otto
habe nach deiner Anleitung geprüft, das einzige was scheinbar fehlt ist die libmime-base64-perl, wenn ich das versuche nachzuinstallieren, kommt die Meldung dass diese lib durch  die lib_perl_5.24 ersetz wurde und diese aktuell ist.