Hier noch ein interessanter Test, der vielleicht weiterhilft.
Habe folgendes kleines Javascript-Programm geschrieben:
var i=0;
schedule("* * * * * *", function () {
i++;
console.log("Counter: "+i);
});
Das Script ruft die Funktion jede Sekunde auf und der Counter wird hochgezählt und jede Sekunde der Counterstand auf der Console ausgegeben. Wie zu erwarten hängt das Script alle 40 Sekunden. Zwei Ergebnisse sind bei der Ausgabe spannend:
1. Die Zahlen sind immer fortlaufend; d.h. es geht kein Ergebnis verloren
2. Was aber richtig verblüffend ist, ist der Umstand, das der Zeitstempel im Log trotz des Stotterns keine Unterbrechungen aufweist.
Ich hätte bei 2 erwartet, dass die Skripte verspätet abgearbeitet werden und sogar der String für das Log erzeugt wird und lediglich die Ausgabe verspätet erscheint. Das heißt, das System läuft, aber nicht alle Prozesse laufen durch. Interessant in diesem Zusammenhang finde ich auch zu erwähnen, dass iobroker.js-controller 25% der CPU-Zeit benötigt (ermittelt mit "ps -eo pcpu,pid,user,args | sort -k 1 -r | head -50"). Vielleicht hilft das weiter.
Noch eine Sache, die ich dabei entdeckt habe:
Die Log-Datei wird immer ohne Stottern geschrieben (Kann man sich mit "tail -f" anschauen).
Ich hoffe, diese Ergebnisse helfen weiter.