[AMAD2] Brauche Eure Info wie viele Geräte Ihr eingebunden habt!

Begonnen von CoolTux, 18 Juni 2016, 08:24:34

Vorheriges Thema - Nächstes Thema

CoolTux

Hallo AMAD User,

Ich benötige mal kurz Euro Hilfe. Mich würde interessieren wie viele Androidgeräte Ihr mit AMAD eingebunden habt? Grund ist das ich sporadisch seit einiger Zeit Fehler in der Form "can't write, to many open files" bekomme und das bei den Devices FHEMweb FHEMwebmobil und AMADCommBridge. Also alles was mit sockets zu tun hat.

Ich bilde mir ein das die Bridge irgendwann zu viele Clientsockets aufgemacht hat. Konnte das aber noch nicht genau feststelle.

Ich selbst habe 9 Geräte. Dazu habe ich bei 3 Tablets FHEMWebmobil und bei 2 Tablets zusätzlich FHEMweb offen.


Grüße
Leon
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

smurfix

Erster Schritt: "lsof -p FHEM_PROZESS"; das zeigt dir, wer da seine Sockets/Dateien/etc. nicht korrekt schließt.

CoolTux

Vielen Dank. Ist bekannt. Bin nur noch nicht dazu gekommen  ;D


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Kurz. Falls da noch wer liest.


lsof -p FHEM_PROZESS
ls -all /proc/FHEM_PROZESS/fd


Und damit man nicht erst unnötig die FHEM PID suchen muss


lsof -p $(ps -ef | grep "fhem.pl" | grep -v grep | awk '{print $2}')


Und ich brauche nur die TCP Sockets

lsof -p $(ps -ef | grep "fhem.pl" | grep -v grep | awk '{print $2}') | grep TCP
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

PatrickR

#4
Hallo Marko,

ich hatte das Problem vor kurzem auch und zwar mit nur einem Androidgerät. Tatsächlich war AMAD2 verantwortlich, was man nicht direkt rausfinden konnte, da die Filedeskriptoren fhem.pl zugeordnet sind.

Daher hatte ich mir auf Rudis Tipp aufbauend ein Skript geschrieben, das regelmäßig die FDs und die zugehörigen Module wegschreibt:

#!/bin/bash

while [ 1 ]; do
echo -e '\n\n--------------------------------------------------' >> /tmp/fdlog
date >> /tmp/fdlog
echo -e "\nlist .* FD\nquit\n"|nc localhost 7072|awk '/Bye.../ {next} NR >=8 {print}'|tee -a /tmp/fdlog
sleep 1m
done


Die weggeschriebenen FDs konnte man dann im Nachhinein nutzen, um Ausgabe von lsof auf einzelne Module zurückzuführen.

Das Problem verschwand, als ich das Tablet auf das aktuelle Flowset aktualisierte.

Im übrigen sehr nett wenn man dank der verbrauchten Filedeskriptoren nichtmal mehr auf das WebGUI oder telnet kommt, um FHEM sauber neuzustarten...

Patrick
lepresenced - Tracking von Bluetooth-LE-Tags (Gigaset G-Tag) mittels PRESENCE

"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning." - Rich Cook

CoolTux

Hallo Patrick,

Ich habe es im Moment t so gemacht das ich alle 10 min ein losf -p FHEM-PID wegschreibe.


#!/bin/bash
DATE=$(date +%Y.%m.%d)
TIME=$(date +%T)
echo $DATE $TIME >> /root/TcpSocketList.txt
lsof -p $(ps -ef | grep "fhem.pl" | grep -v grep | awk '{print $2}') | grep TCP >> /root/TcpSocketList.txt
exit 0




Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Nach vielen hin und her und überlegen habe ich meinen Designfehler erkannt. Habe auch schon eine Idee wie ich es besser machen kann. Frage ist nur ob es Automagic so mit macht. Wird aber 2-3 Wochen dauern.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net