Ich versuche mit einem IPS-Skript eine View von IPSView umzuskalieren in eine andere Größte. Also quasi ein duplizieren einer View. Das Skript an sich funktioniert, aber nur wenn die View nur winzig klein ist. Jetzt hat die View 7.21 MB und es kommt dieser Fehler:
Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 179101 bytes) in [IPSView\IPSView Skripte\Umskalierung von XY nach Faktor] on line 54
Zeile 54 ist die letzte Zeile von diesem Code:
// Read Content of Childview
$childContent = IPS_GetMediaContent($childViewID);
if ($childContent===false) {
die("Media Objekt von Child konnte NICHT gefunden werden");
}
$childData = base64_decode($childContent);
$childObj = json_decode($childData, true);
In der php.ini von IPS habe ich 64MB eingetragen. Reicht aber wohl leider nicht aus, obwohl er weniger Speicher belegen will…deswegen verstehe ich das nicht. Fehler im IPS?
Wenn ich in der php.ini mehr als 64MB eintrage, z.B. 128MB, dann den IPS Dienst neustarte, dann wird der Wert wieder auf 64MB zurück geändert. Kann man nicht mehr als 64MB zuweisen?
Was könnte ich machen, damit das Skript erfolgreich durchlaufen könnte?
Problem wurde erledigt durch ein neues Umskalier-Skript von Brownson, welches nicht mehr benutzte Variablen zurücksetzt und damit wieder Speicher frei gibt
Trotzdem verstehe ich nicht, wieso das Skript einen Fehler hatte, weil der zu belegende Platz deutlich kleiner war, als der gesamt vorhandene Platz im Speicher
Und die Antwort auf die Frage, ob nicht mehr als 64MB möglich sind, wäre auch noch interessant
Uralte Meldung, aber sie ist noch da, nachdem meine View ziemlich groß geworden ist :eek:.
Nicht schlimm dachte ich, heute gibt es ja einen Spezialschalter , aber die Einstellung scheint symcon, natürlich nach einen Restart, nicht zu interessieren.
@paresy: Wie sind denn die Grenzen bei „ServerHardQueueBytesLimit“? Da habe ich einfach mal eine 1 davor geschrieben, die aber nicht wirkt. Und im Kern ist der gewünschte Speicher ja kleiner als der gesetzte Parameter :o.
Dann ließ die Fehlermeldung noch einmal
Allowed memory size of 33554432 bytes exhausted
Es wurden die maximalen 32 MB belegt und darum macht es Peng.
Michael