Ein "top" auf dem RPI2 zeigt > 95% CPU Auslastung von fhem über längere Zeit.
Code: [Auswählen]
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12290 fhem 20 0 81832 76280 6968 R 95,7 8,0 38:02.32 perl
Kann man irgendwie sehen, womit fhem da beschäftigt ist (ausser mit apptime, was ich schon nutze)?
Mwn gibt es noch keine Alternative zu apptime.
Was funktioniert damit nicht?
Hast du auch schonmal in den Event monitir geschaut was dort so alles aufläuft ?
apptime funktioniert, aber ich kann noch nicht genau den Grund damit ergründen.
Die Top-Einträge von apptime sind:
name function max count total average maxDly
WEBWandtablet FW_Read 4138 384 96652 251.70 0 HASH(WEBWandtablet)
Arduino_Heizung FRM_Read 2448 1 2448 2448.00 0 HASH(Arduino_Heizung)
HMLAN1 HMLAN_Read 2149 3385 137489 40.62 0 HASH(HMLAN1)
also nehme ich an, dass das WebWandtablet das Problem ist...
Zitat von: FhemPiUser am 31 Januar 2016, 16:29:07
apptime funktioniert, aber ich kann noch nicht genau den Grund damit ergründen.
also nehme ich an, dass das WebWandtablet das Problem ist...
Das kann natürlich sein, aber manchmal sind es nicht die Top-Einträge in einer bestimmten Sortierung, die das Problem darstellen.
Ausserdem findet in FW_Read relativ viel statt...
Also würde ich auf jeden Fall verbose 5 in diesen Situationen einschalten und mir auch mehr also nur die 3 Top-Einträge anschauen.
(Unterschiedliche Sortierungen sind manchmal ebenfalls nötig)
ja, danke. Ich bekomme mit verbose 5 tausende von list-Kommandos mit langen device-listen
WEBWandtablet_192.168.1.167_45882 GET /fhem/?cmd=list+...+&XHR=1&_=1454256645997; BUFLEN:0
und
Cmd: >list ....
wobei "..." ca. 30-50 devices aufzählt. Die kommen alle vom Tablet UI auf meinem Wandtablet...
Ist das "BUFLEN:0" ok?
Dann müsste sich doch einfach ausprobieren lassen, das Wandtablet einfach mal auszuschalten, um zu überprüfen, ob dann das Problem weg ist.
Grundsätzlich ist bei mir FW-Read (vom Tablet UI) auch relativ weit oben, ich habe aber keine "verbose 5" ausgaben. Die list-Befehle finde ich jetzt erstmal überraschend.
Wie gesagt ansonsten würde ich auch nach verschiedenen Kriterien apptime listen
Danke, es war das Wandtablet-/Tablet-UI-Problem.
Habe mal einen schnellen Fix eingebaut und damit ist das Load-Problem bei mir behoben:
In fhem-tablet-ui.js folgendes angepasst (diff):
28,30d27
< /* setonlinefix */
< var lastsetOnline = 0;
<
125,136c122,127
< /* setonlinefix */
< var ltime = new Date().getTime() / 1000;
< if ((ltime - lastsetOnline) > 60){
< if (DEBUG) ftui.toast("Network connected");
< lastsetOnline = ltime;
< startShortPollInterval(500);
< if (!doLongPoll){
< doLongPoll = ($("meta[name='longpoll']").attr("content") == '1');
< if ( doLongPoll )
< startLongPollInterval(5000);
< }
< ftui.log(1,'FTUI is online');
---
> if (DEBUG) ftui.toast("Network connected");
> startShortPollInterval(500);
> if (!doLongPoll){
> doLongPoll = ($("meta[name='longpoll']").attr("content") == '1');
> if ( doLongPoll )
> startLongPollInterval(5000);
137a129
> ftui.log(1,'FTUI is online');