Ziele

  • Limitierbarkeit des vom PLANTA-Server genutzten Speichers
  • Behandlung von Speicherengpässen
  • Erhalt der Arbeitsfähigkeit auch bei knappen Systemressourcen

Konfiguration

  • Im Auslieferungszustand ist die Speicherbegrenzung ausgeschaltet.
  • Die Parameter der Speicherbegrenzung sind über die Konfigurationsdatei globals.conf einstellbar.
  • Die Aktivierung erfolgt über die Angabe einer maximalen Speichergröße mittels des Parameters mem_limit.max_size.
    • Diese Größe ist abhängig von den Systemressourcen zu wählen.
    • Hierbei ist zu beachten, dass die Größe der Java Virtual Machine nicht inbegriffen ist, also von den Systemressourcen abgezogen werden muss.
    • Weiterhin werden pro aktiver Sitzung weitere Ressourcen allokiert, die ebenfalls nicht inbegriffen sind (ca. 1,5 GiB bei 50 parallelen Sitzungen).
    • PLANTA empfiehlt beispielsweise mem_limit.max_size=8192 bei einem Server mit 16 GiB RAM und bei einer Systemdimensionierung "mittel" (also einer JVM-Konfiguration von 4096 MiB).
  • Die Angaben für erforderlichen freien Speicher für bestimmte Aktionen sollten nur nach Rücksprache mit PLANTA angepasst werden, da eine Änderung negative Auswirkungen auf den Betrieb des PLANTA-Server haben kann.

Auswirkungen bei Speicherknappheit

Information

  • Bei Speicherknappheit werden gegebenenfalls die folgenden Meldungen angezeigt.

Dialogmeldung 1045 (Die Aktion "[Aktionsname]" wird wegen Speichermangel abgebrochen.)

Beispiel

Die Aktion "module loading" wird wegen Speichermangel abgebrochen.
Momentan sind 192 MiB von maximal 256 MiB in Benutzung.

Schließen Sie bitte nicht benötigte Module und Sitzungen, um Ressourcen freizugeben.

Weitere Informationen finden Sie hier:
https://help.planta.de/tec/latest/de/?contentKey=Memory_Limits


Dialogmeldung 1046 (Ihre Sitzung wird wegen akutem Speichermangel abgebrochen.)

Beispiel

Ihre Sitzung wird wegen Speichermangel abgebrochen.
Momentan sind 210 MiB von maximal 256 MiB in Benutzung.

Weitere Informationen finden Sie hier:
https://help.planta.de/tec/latest/de/?contentKey=Memory_Limits


Python Exception(s) Memory limit exceeded!

  • Bei Auftreten einer Speicherknappheit im Python-Kontext (z.B. aus Makros heraus) wird, falls die Exception unbehandelt bleibt, folgende Nachricht ausgegeben:

Situationen und Auswirkungen

Informationen

  • Bei den nachfolgend genannten Aktionen wird geprüft, ob die für die Aktion veranschlagte Speichergröße noch zur Verfügung steht.
  • Ist dies nicht der Fall, wird die Aktion abgebrochen.
  • Der Benutzer wird über den Abbruch und den Grund dafür informiert.
  • Jeder Aktionsabbruch hat spezifische Auswirkungen, die folgend erläutert werden.

Start einer Sitzung

  • Die Prüfung erfolgt vor Anmeldung des Benutzers.
  • Die Meldung 1045 wird angezeigt.
  • Nach Bestätigung mittels OK wird die Sitzung beendet.

Laden von Moduldaten

  • Die Prüfung erfolgt bei jedem Laden der Moduldaten (z.B. Filtern).
  • Die Meldung 1045 wird angezeigt.
  • Wird das Laden der Moduldaten aus Python-Code heraus angestoßen, wird auch eine Python-Exception ausgegeben.
  • Das Laden von Moduldaten (analog dem Abbrechen des Modulfilterns mittels ESC) wird abgebrochen.

Kalkulation eines Projektes

  • Die Prüfung erfolgt vor der Kalkulation eines Projektes.
  • Die Meldung 1045 wird angezeigt.
  • Eine Python-Exception wird ausgegeben, wenn die Kalkulation von Python-Code aufgerufen wurde.
  • Die Kalkulation wird nicht ausgeführt.

Neuplanung

  • Die Prüfung erfolgt vor dem Start der Neuplanung.
  • Die Meldung 1045 wird dem Benutzer angezeigt.
  • Eine Python-Exception wird ausgegeben, wenn die Kalkulation von Python-Code aufgerufen wurde.
  • Die Neuplanung wird nicht ausgeführt.

Überschreitung der Allokationsgrenze

  • Die Prüfung erfolgt bei Allokationen.
  • Die Meldung 1046 wird angezeigt.
  • Je nach ausgeführter Aktion können auch Python-Exceptions auftreten.
  • Die Sitzung wird nach Bestätigung der Nachrichten beendet.