Hallo zusammen, es gab hier früher mal das Thema, daß IPS sehr viel Speicher verbraucht.
Ich habe dieses Problem jetzt auch. Allerdings nur sehr sporadisch:
Meine Probleme an Beispielen:
-
Wenn ich ein Skript entwickle und dabei Fehler mache, kann es vorkommen, daß das Skript-Thread „unendlich“ läuft und der Speicherbedarf steigt.
-
Als die Unwetterwarnungsseite nicht mehr erreichbar war, ging der Speicherbedarf auch richtig hoch.
-
Heute trat der erhöhte Speicherverbrauch auch wieder auf. Den Grund habe ich noch nicht herausgefunden. (ips.exe belegte 247 MB RAM)
Ich habe mir mal kurz Gedanken gemacht. Hier meine Idee zur Überwachung des ips Speicherbedarfs.
Für jede Weiterentwicklung die hier veröffentlicht wird, bin ich dankbar …
<?
/*
*******************************
IP-SYMCON Event Scripting
*******************************
File : ips_speicherverbrauch.ips.php
Trigger :
Interval : 30 min
Benötigt eine Integer Variable - IPS_Speicherverbrauch
Liest per wmi den aktuellen Speicherverbrauch von ips.exe aus
falls grösser als der eingestellte Grenzwert - etwas unternehmen
z.B. Mail senden, ips neustarten, Computer neustarten ...
*/
$Prozesse=IPS_Execute("wmic process get WorkingSetSize", ",Caption" , False, TRUE);
/* Liefert folgende Liste
cmd.exe 872448
ips.exe 46460928
rrdtool.exe 2793472
wmic.exe 5705728
wmiprvse.exe 5738496
*/
$Grenzwert=85000000; // 85 MB - dann etwas unternehmen
$start=strpos($Prozesse, "ips.exe"); //Liefert die Startposition wo ips.exe steht
if (!$start==false) // wenn ips ips.exe nicht gefunden wird dann false und ende
{
$start=$start+7; //Länge des Wortes ips.exe
$ende=strpos($Prozesse, "
", $start); //Zeilenende
$ergebnis= substr($Prozesse,$start,($ende-$start)); //nur die Zahl und einige Leerstellen
$ergebnis+=1; //durch die addition wird der string zum integer
SetValueInteger("IPS_Speicherverbrauch",$ergebnis);
if($ergebnis>$Grenzwert)
{ //erstmal email senden
SetValueString("mailempfaenger", "mail@domain.de");
SetValueString("mailempfaengername", "Vorname Nachname");
SetValueString("mailbody", "Achtung! IP-Symcon verbraucht jetzt ".$ergebnis." Byte Speicherplatz. Der eingestellte Grenzwert liegt bei ".$Grenzwert." Bitte eingreifen, da noch nichts automatisch eingeleitet wird.");
SetValueString("mailsubject", "IP-Symcon Speicherverbrauch-Warnung");
include("mailsenden.ips.php");
}
}
?>