IPS sehr memory hungrig?

Hallo,

ich hab IPS auf einem macmini mit 8 GB RAM laufen, der in letzter Zeit sich häufig wegen mangelndes application memory beschwert.
Der Bedarf ist 2,75 GB RAM, die DB hat ca. 700 MB.

Ist dieser enorme Speicherbedarf normal oder läuft da bei mir etwas falsch?

Hallo.

Aus meiner Sicht - ja, ist normal:

2020-05-14 16_25_44-mRemoteNG - confCons.xml - Elwood.png

Aber ich habe auch eine nicht ganz kleine Installation mit einer ebenso wenig kleinen Datenbank am laufen…:rolleyes:

Bei 700MB Datenbank ist 2,8 GB doch sehr viel. Ist dieser direkt nach dem Start to hoch? Oder steigt er langsam an?

Bei der DB zählen übrigens nur die Dateien im Hauptordner. Die Rohdaten (=Unterordner) werden nicht im RAM gehalten.

paresy

Ja, der Speicherbedarf ist unmittelbar nach dem Start so hoch und bleibt dort auch über die Zeit so.

Was wird ausser der DB sonst noch in den RAM geladen von IPS?

Die Anzahl der PHP Threads. Wie hoch hast du die eingestellt?

paresy

puh, wo kann man die Anzahl an php Threads anschauen/einstellen?
Ich hab thread count 40 und thread queue limit 50.

Mir ist aber aufgefallen, dass der DB Folder ca. 1.9 GB groß ist, obwohl im archive Handler 700 MB angezeigt werden.
Wenn ich die DB verschiebe und IPS mit de leeren DB starte, braucht es ca. 500 MB Memory.

Auf das i kicken und dann die Spezialschalter.

paresy

Ich finde die Speicherauslastung sehr hoch.

Bei mir läuft IPS auf einer Linux-VM mit 2 GB Ram und IPS belegt knapp 23% davon.

Auch hier, schau wie wie groß alle Dateien im Hauptordner der Datenbank sind, das liegt komplett im Ram.
Michael

Laufzeit ca. 40 Tage - 1,9GB Database - 256MB Speicher unter Windows

Bei mir benötigt der IPS-Dienst gerade mal 75MB, bei 100MB geloggten Daten im Hauptverzeichnis.

IPS 5.3 build 586b5fea851a
Windows 10

Ich glaube, ich habe die Ursache gefunden, jedoch keine Lösung dafür.

im db Folder gibts pro Jahr jeweils ein Verzeichnis, in dem die csv Dateien liegen.
Die Größe von diesen Foldern ist genau die Größe, die IPS im Archive Handler anzeigt.

Ins Memory wird jedoch alles von diesem Folder geladen, auch die zahlreichen csv FIles…das macht dann genau die 2,4 GB aus.

Ist das ok so oder ist da bei mir damals bei der DB Migration etwas schiefgegangen?

Ich habe in einem IPS Video bei Youtube gesehen das alle Log Dateien in den RAM geladen werden damit die Statistik sofort verfügbar ist. war glaube ich das Video mit den Spezialschaltern.
Es soltle irgendwann mal geändert werden, aber wann wurde nicht gesagt.
Bei mir ist IPS knapp 6 GB im RAM groß.

Nein, es werden nur die aggregierten Daten der Datenbank in den RAM geladen. Das sind die Dateien, welche im db Ordner liegen (nur diese, nicht die Unterordner)

Falls das nicht hinkommt, sollten wir die Ursache entsprechend mal suchen :slight_smile:

paresy

Gilt das auch, wenn man

  • Diagramme mit RAW-Daten darstellt (ggf. mit erhöhten Werten für die Datenanzahl)
  • irgendwelche Scripts auf die historischen Daten zugreifen, um was-auch-immer dort abzufragen?

Der zweite Teil hängt von deinem Script ab und nicht wirklich von Symcon.

Wenn du „alle“ Daten in ein Array lädst, dann sind die im Speicher.

Hallo Paresy,

das passt bei mir hinten und vorne nicht zusammen…
Ich hab jetzt mal die Daten aus dem DB Ordner zwecks Größenbestimmung in einen temp Folder kopiert, das sind 1.07 GB.

Der komplette DB Folder hat 1,51 GB

IPS braucht tatsächlich ca. 2.5 GB Memory

Und der Archive handler zeigt eine Größe von 418 MB an.

Der Macmini jammert die ganze Zeit, dass ihm das Application Memory ausgeht…eh klar…und ist kaum noch für was anderes noch nutzbar.

Das ist quasi egal, weil wir den Speicher direkt wieder freigeben. Wir laden also die Daten kurz von der Platte, aggregieren die und gene die weiter. Da wird nichts gespeichert.

@gdfde: Stoppe doch mal IPS, benenne den db Ordner in db_ um und starte dann IPS. Wie sieht der Speicher dann aus?

paresy

Das hätte ich erwartet, aber meine Beobachtung ist etwas anders:

Wenn ich die Speicherbedarf von IPS beobachte, dann kann ich den durch Öffnen eines RAW-Diagramms jeweils um einige MB in die Höhe treiben, und dieser „Spitzenwert“ bleibt dann auch im Taskmonitor als momentaner Speicherbedarf erhalten. Und mit jedem Diagramm steigt er auf diese Weise etwas, geht aber danach „nie wieder“ zurück.

@paresy
dann siehts gut aus, 160 MB.