[gelöst] IPS braucht über ein 1Giga RAM?

Hallo!

Ich habe jetzt IPS auf meinem WIN2003 Server ein paar Tage am Laufen gehabt. Ohne, dass irgendwelche großartigen Scripts gelaufen wären - nur die Demo und 2 kleine selbstgebastelte, mußte ich heute feststellen, dass IPS mittlerweile schon über 1 Giga RAM für sich beanspruchte. Die Maschine wurde mit dem Swappen gar nicht mehr fertig.

Hier ist scheinbar irgendwo ein massiver Wurm im Speichermanagment?

Grüße,
-Wolfgang

Hallo wolfi3300,

dem kann ich so nicht beistimmen.

Meine IPS.EXE benötigt derzeit 55MB und das RRD-Tool zusätzlich 4MB.

Ich hatte in der Vergangenheit auch mal Speicherprobleme, die hingen aber auf meiner Seite mit USB-Problemen und 1-Wire zusammen. Man liest auch des öfteren von Problemen mit Skripts die in einer Endlosschleife laufen, aber da muss man mehr von deiner Umgebung starten. Suche doch einfach mal im Forum, dort wirst Du sicherlich fündig.

Ach ja. Mein System läuft auch auf einem Windows2003-Server, besser gesagt ein SBS2003 mit 4 FHTs, 6 1-Wire Temperatursensoren und einigen FS20-Schalter und Dimmer.

Anbei ein Bild von meiner Speicherauslastung.

speicher.gif

Hallo Werner,

ja das ganze lief ja auch ein paar Tage ohne Probleme. Ich hab da noch nichtmal ein USB-Device drannhängen, da mein FHZ noch nicht geliefert wurde.

Ich kann leider auch nicht genau sagen, ab wann die Speicherauslastung plötzlich so in die Höhe geschoßen ist. Hab das Phänomen allerdings jetzt schon zum 2. Mal festgestellt.

Gibt es Möglichkeiten um zu erkennen, welche Teile von IPS hier so viel verbraten?

Wolfgang

Hallo wolfi3300,

verstehe ich das richtig, Du hast noch keine steuerbare Hardware wie z.B. FHZ1300PC oder 1-Wire dran?

Könnte mir schon vorstellen das es da Probleme gibt wenn Du wie oben beschrieben Skripts am laufen hast die versuchen die entsprechende Hardware anzusprechen.

Schau einfach mal in Logfile, das wird wahrscheinlich ganz schon groß sein.

Was passiert denn wenn Du alle Skripts rausnimmst, steigt dann der Speicher immer noch an?

Kann ich überhaupt nicht bestätigen. Ich habe IPS auch auf einem WIN2k3 laufen und das seit Wochen, ohne irgendwelche Speicherauslastung. Ich bin sogar sehr zufrieden, da ich eine Woche lang im Krankenhaus war, und IPS ist zuverlässig durchgelaufen, ohne irgendwelche Probleme.

Du müsstest villeicht mal sagen, was du auf IPS am laufen hast, also 1-wire, FS20, xComfort… sodass man das mal eingrenzen könnte.

mfG Franz

Hi,

ich hatte unter W2K-Server das gleiche Problem. Seit ich den Rechner bei gleicher Hardware aber mit Windows XP Home am laufen habe ist es wesentlich besser geworden. Manchmal passiert es aber trotzdem noch das die Speicherauslastung plötzlich auf über 600MB ansteigt. Manchmal passiert es aber auch das der Speicher mit einem Schlag von 60MB auf unter 20MB abfällt und dann in den folgenden Tagen langsam wieder ansteigt. Wenn IPS neu gestartet wird liegt der Speicher bei ca. 47MB und steigt dann innerhalb 2 Tagen bis auf ca. 64MB. Dann geht es ziemlich langsam weiter (täglich 0.5MB- 1MB) oder auch mal Stillstand. Erklären kann ich mir das Verhalten aber immer noch nicht.

Ich hatte IPS Test weise auch auf meinem Notebook (Win XP Home) installiert, ohne angeschlossener Hardware, dort ist IPS durchgelaufen ohne das sich der Speicher großartig verändert hätte.

Gruß
Thomas

Hallo zusammen,

dem muss ich mich leider auch noch anschliessen. Der Speicherverbrauch steigt auch bei mir noch stetig an. Habe bis jetzt noch nicht verstellen können, woran das liegt. Es läuft auch nur IPS auf dem Rechner.
Seit kurzem frist auch nun der Designer langsam aber stetig meinen Speicher weg. Der Speicher lässt sich auch nur durch neustart von IPS wieder freigeben.
Alles auf ein anderes Betriebssystem zu portieren habe ich noch nicht gemacht. Das muss auch anderes zu lösen sein.

Doc

Hallo,

also das ganze erscheint mir doch relativ schleierhaft. Mein Win2k3 dient nur als hausüblicher File-,DHCP und Printserver. Als Softwares laufen nur Emule, TwonkyMediaServer und IPS. Ich habe bisher noch nie ein Speicherproblem gehabt.
Dennoch scheint es Probleme beim Speicher bei verschiedenen zu geben. Kann es dann auch vielleicht nicht an der Hardware liegen, bsp. Motherboard, BIOS, RAM bausteinen oder CPU Typ…etc ?

Ich finde das äusserst komisch

mfG Franz

Hallo,

also ich habe jetzt IPS seit 7 Stunden wieder neu Laufen, im Moment scheint alles im Grünen Bereich zu sein:

Speicherauslastung 11.012K, Virtueller 28.344k, ausgelagert: 94k

Im Kernel unter Verbose finde ich eigentlich nur Probleme mit dem Regenmelderscript. Er findet da die Funktion ImageCreateFromGif nicht, aber an dem kanns ja wohl nicht liegen?

Im Moment hängt hier noch nichts drann, - keine FHZ o.ä. die bekomme ich hoffe nächste Woche.

Eventuell macht es auch Sinn IPS in einem Task jeden Tag zum Beispiel um 3 Uhr früh mal durchzustarten um solchen Speicherauswucherungen vorzubeugen? Wie schauts da mit den Variablen aus? Geht da was an Informationen verloren oder merkt sich das System seinen Status?

-Wolfgang

PS: Speicherauslastung nachdem ich diesen Eintrag gemacht habe (ca. 10 Minuten später -
12.052k, 28.716k, 94k - Also schon wieder etwas mehr? - Aber ich denke das muß jetzt nichts bedeuten, die Garbage Collection räumt ja nur alle heiligen Zeiten mal auf…

Benutzt du zufällig den MacroEditor?

Der wurde hier im Zusammenhang mit Speicherproblemen erwähnt.

Da bin ich noch dran am suchen.

paresy

Hallo,

doch, daran kann es liegen. Falls vorher bereits der Speicher fuer die Funktion bereitgestellt wird, dann die Funktion nicht ausgefuehrt wird, das Script also somit nicht normal beendet und damit der Speicher nicht richtig freigegeben wird, kann dies die Ursache bei Dir fuer den Speicher „Zulauf“ sein.

Deaktiviere einfach mal dieses Script und beobachte das ganze.

Gruss Torro

Hallo!

Nein den Macroeditor habe ich nicht in Verwendung.

Habe heute Morgen die Speicherauslastung überprüft, wieder das selbe Chaos. Das Script, welches ein GIF basteln will ist deaktiviert. IPS hatte ich danach neu gestartet.

Die momentane Speicherauslastung: 465,748K, Virtueller: 567,940.

Habe danach auf die Kernel-Nachrichten-Verbose umgeschalten, dort war zuerst nichts auffälliges zu sehen, und plötzlich kamen innerhalb einer Minute zig „Out of memory“ Meldungen in das Fenster.

Auf dem Terminalserver läuft auch noch ein Exchange und ein IIS. Speicherprobleme hatte ich aber bisher noch nie.

Grüße,
Wolfgang

So jetzt ist mir noch etwas aufgefallen. Beim Blick ins Log-Verzeichnis habe ich die aktuelle Logdatei mit 329MB entdeckt. Ein Blick darauf zeigte, dass um 2:19 Morgens das Regenradar-Script ausgeflippt ist.

19.02.2007 02:19:50.793 | ERROR | ExecuteThread ID: 7692 | ScriptError: Regenradar.ips.php ~ Sender: TimerEvent ~ Result: <br />
<b>Warning</b>: fopen(http://www.zdf.de/ZDFde/wetter/showpicture/0,2236,165,00.gif) [<a href=‚function.fopen‘>function.fopen</a>]: failed to open stream: HTTP request failed! in <b>C:\Programme\IP-SYMCON\scripts\Regenradar.ips.php</b> on line <b>13</b><br />
<br />
<b>Warning</b>: feof(): supplied argument is not a valid stream resource in <b>C:\Programme\IP-SYMCON\scripts\Regenradar.ips.php</b> on line <b>16</b><br />
<br />
<b>Warning</b>: fread(): supplied argument is not a valid stream resource in <b>C:\Programme\IP-SYMCON\scripts\Regenradar.ips.php</b> on line <b>17</b><br />
<br />
<b>Warning</b>: feof(): supplied argument is not a valid stream resource in <b>C:\Programme\IP-SYMCON\scripts\Regenradar.ips.php</b> on line <b>16</b><br />
<br />
<b>Warning</b>: fread(): supplied argument is not a valid stream resource in <b>C:\Programme\IP-SYMCON\scripts\Regenradar.ips.php</b> on line <b>17</b><br />
<br />
<b>Warning</b>: feof(): supplied argument is not a valid stream resource in <b>C:\Programme\IP-SYMCON\scripts\Regenradar.ips.php</b> on line <b>16</b><br />
<br />
<b>Warning</b>: fread(): supplied argument is not a valid stream resource in <b>C:\Programme\IP-SYMCON\scripts\Regenradar.ips.php</b> on line <b>17</b><br />

obiger Text wird so oft wiederholt bis alleine dieser Text schon mehr als 300MB ausmacht. Um 2:24 war der Spuk dann wieder vorbei.

Das Script spinnt, wenn das Regenradarbild nicht verfügbar ist, - das wird nicht abgefangen. Die while-Schleife zum Einlesen verursacht dann die 300MB an Fehlermeldung. Ob aber das der Grund ist, warum IPS soviel RAM braucht?

Grüße,
Wolfgang

Guten Morgen!

Erstmal eine Frage vorweg:
ist das Speicherproblem (ich meine nicht die Logdatei) wieder aufgetreten, nachdem du das Script mit dem ImageCreate abgeschaltet hast, oder wartest du jetzt erst wieder auf den „Effekt“?

Das mit dem Regenradar habe ich auch gehabt. Ist keine schöne Sache, wenn man auf den Server schaut und Windows berichtet, das der freie Platz auf dem IPS-Laufwerk (vorher ca. 7GB) verbraucht ist. :eek: :eek: :eek:

Komischerweise lief das Script vorher einige Wochen ohne diese Probleme. Doch dann trat es regelmäßig auf.

Ich habe die Anweisung in eine try-catch Konstruktion verpackt, jetzt gibts keine Probleme. Allerdings muss man dafür einen eigenen exception-handler definieren, denn es handelt sich von seiten PHP hier nicht um eine echte exception.
Wenn Interesse besteht krame ich die Sachen mal hervor…

Bei mir gab es dadurch allerdings nie Arbeitsspeicherprobleme. Aber wer weiß…

Gruß
Fabian

Hallo Fabian,

ich habe jetzt die Scripts welche Images behandeln (die 2 Regen-Scripts) einfach mal herausgenommen. Diese benötige ich ohnehin nicht, da ich die Daten aus meiner Vantage-Wetter-Station bekomme und nur aus der MySQL-DB auslesen muß.

Ich werde jetzt einfach mal zuwarten und beobachten ob das Phänomen nochmal auftritt. Falls ja werde ich hergehen und mal alle Scripts herausnehmen und der Reihe nach wieder aktivieren, wäre doch gelacht.

Nachdem ich eh erst in ca. einem Jahr mit dem Hausbau beginnen werde habe ich ja noch genug Zeit zum Rumtesten :o

Grüße,
-Wolfgang

Hallo Wolfgang,

beim Aufruf von unzuverlässigen Quellen, wie z.B. Internet-Links, ist es ratsam eine Prüfung vorzunehmen.

Die Funktion fopen kann mit dem Error Control Operator @ in folgender Weise aufgerufen werden:

$filename = "http://www.zdf.de/ZDFde/wetter/showpicture/0,2236,165,00.gif";
$handle = @fopen($filename, "r");
if ($handle==false)
 echo "Wetterbild nicht verfügbar". "
";

Das Zeichen @ bewirkt eine Unterdrückung der Fehlermeldung.

fopen liefert bei Erfolg den gewünschten „file handle“, andernfalls den Boolean-Wert false.

Eine anschließende Überprüfung auf Gültigkeit muss also auf false abfragen, nicht auf true, da das Ergebnis nie true wird.

Dies ist meiner Ansicht nach die einfachste Methode das Problem in den Griff zu bekommen.

Gruß
HJH

Hallo HJH,

danke für den Hinweis. Ich brauche allerdings diese Funktion eh überhaupt nicht, habe nur mal Testweise die Demo installiert und Laufen lassen, - dabei ist mir das aufgefallen.

Aber evtl. kann ja ein anderer User davon profitieren.

Grüße,
Wolfgang

Ja, z.B. ich. Ich nutze auch das Wetterscript. Werde das heute Abend mal probieren, da ich auch die Fehlermeldungen in Log habe.
Allerdings weiss ich immer noch nicht, warum der Verbrauch des Designers auch ständig steigt :confused:

Doc

Hallo HJH,

du hast natürlich mal wieder die elegantere Lösung - Respekt!

Diese Variante hatte ich auch ausprobiert, aber (aus Unkenntniss) das @ dabei nicht benutzt. So kam immer noch ein Fehler.

Meine Variante ist zwar funktionell, aber eben aufwändiger. Das externe exception-handling kann ich aber dafür auch an anderer Stelle verwenden. Es ist von der Funktion unabhängig.

Trotzdem danke für den Tipp - werde es gleich mal ausprobieren.

Gruß
Fabian

Hallo!

Also bei mir läuft jetzt seit dem Entsorgen der zwei Regenroutine aus den Demo-Scripts mein System stabil. Es scheint tatsächlich so gewesen zu sein, dass die Grafikroutinen Speicher anforderten und dann nicht mehr freigaben, wenn das Script vorzeitig mit einem Fehler abgebrochen hat!

Grüße,
Wolfgang