out of memory

Fritz

Neues Mitglied
Hallo allerseits,

ich bin nur der ITler der keine Ahnung von Sage hat, dazu gibt es einen eigenen SAGE Partner der dies betreut, würde aber trotzdem um Unterstützung bitten.
Mein Kunde bekommt seit der Umstellung auf Terminalserver mehrmals täglich die Fehlermeldungen bezüglich OUTOFFMEMORY obwohl die Arbeitsspeicher am Terminal bzw. SQL Server zu 50% ausgelastet sind.

Das System ist für 10 RDP Clients wie folgt konfiguriert.
Terminalserver: Client SAGE100 9.0 + Applikationsserver 2019 + Office 365 in der 32bit Version 42GB Arbeitsspeicher
SQL Server: hier läuft nur die DB so viel ich sehen kann, mit 16GB Arbeitsspeicher
beide Server sind per Hyper-V virtualisiert

Laut dem Herrn der SAGE installiert hat, liegt es an den Server, die falsch konfiguriert sind.

Ich würde hier um eure Unterstützung bitten.
Gruß Fritz
 

Anhänge

  • Fehlermeldung.JPG
    Fehlermeldung.JPG
    302 KB · Aufrufe: 35
  • Fehlermeldung1.PNG
    Fehlermeldung1.PNG
    43,3 KB · Aufrufe: 34
Zuletzt bearbeitet:
Hallo Fritz,
versuche mal im Sage Administrator die Speichererweiterung zu aktivieren:
upload_2021-3-26_10-6-57.png

upload_2021-3-26_10-7-25.png

Viele Grüße
Thomas
 
Danke für die rasche Antwort, ist laut Sage Partner aktiviert.
Würde es etwas bringen den Applikationssever auf einer eigenen Hyper-V Maschine laufen zu lassen?
 
Kann ich meinerseits sonst noch etwas einstellen?
Wie oben schon beschrieben läuft das Office ohne Probleme die OutOffMemory Meldung kommt immer nur von SAGE
 
Hallo Fritz,
die OutOffMemory-Exception kommt vom Client. Der Applicationserver sendet Metadaten und Daten an den Client, der daraus eine Erfassungsmaske, Liste usw. rendert. Ich interpretiere die Fehlermeldung so, dass der Client nicht ausreichend Arbeitsspeicher hat, um die Maske darzustellen.
Der Applicationserver scheint also in dem Szenario nicht der Flaschenhals zu sein, reserviert jedoch auf dem Server Ressourcen, die offenbar deinem Client fehlen.
Insofern kann es also ein Ansatz sein den Applicationserver auf einer eigenen VM laufen zu lassen - und wie schon von Herrn Breithecker geschrieben, entspräche das auch abhängig von der Benutzerzahl den Empfehlungen von Sage.
Wie viel User sind denn parallel auf dem Terminalserver angemeldet? Weiterhin sollten Sie prüfen, ob die Speichererweiterung tatsächlich aktiv ist. Und sie könnten prüfen, ob die Fehlermeldung abhängig davon erscheint, wie viele Elemente gleichzeitig von einem Benutzer geöffnet wurden.

Viele Grüße
Thomas
 
Danke für die ausführliche Antwort, es sind konstatnt 10 User gleichzeitig am arbeiten.
Leider kann ich dem SAGE Betreuer nur vertrauen denn sobald ich den Administrator starte kommt ein Laufzeitfehler 429.
Werde ihm aber vorschlagen die freie VM für den ApplikationServer zu verwenden.

VG
Fritz
 
Zuletzt bearbeitet:
Diese Meldung kommt auch des öfteren.
Meinen Sie bei den "Elementen" geöffnete Programme oder in SAGE geöffnete Aufträge?
 

Anhänge

  • screenshot 4.JPG
    screenshot 4.JPG
    46,4 KB · Aufrufe: 52
Hallo Fritz,
wenn beim Start des Administrators ein Laufzeitfehler erscheint, weist das auf eine defekte Installation hin.
42GB sollten für 10 Benutzer in dem Szenario eigentlich ausreichend sein.
Der Administrator muss jederzeit ausführbar sein. Allenfalls könnte ein (zurücksetzbares) Kennwort Sie an der Anmeldung am Administrator hindern. Auch Ihre letzte Fehlermeldung deutet darauf hin, dass OCX-Bibliotheken nicht korrekt registriert sind.
Sie sollten Ihren Sage Betreuer bitten gemeinsam mit Ihnen die Sage Installation zu prüfen und ggf. neu installieren. Sollten Sie direkte Unterstützung auf Ihrem System benötigen, dürfen Sie auch gerne auf mich zukommen --> mail@sage100.guru

Viele Grüße
Thomas
 
Guten Morgen. Wie ist es denn hier weitergegangen @Fritz ? Haben Sie eine Lösung gefunden? Wir sind auch betroffen ("auf einmal") und dabei ist unser Applikationsserver gerade erst frisch aufgesetzt worden. Win-Updates gab es keine oder irgendwelche anderen "Eingriffe". Die max. 10-12 User arbeiten auf einem ausreichend dimensioniertem Terminalserver (alles Server 2016) mit 96GB RAM und mehr als genug Leistung. Haben schon Tests mit o.g. Speichererweiterung gemacht oder mit Auslagerungsdatei, etc.. Aktueller Workaround ist, den Sage AppServer in einer Art Konsole laufen zu lassen (laut unserem Dienstleister). Aber eine finale Lösung wäre mir wohler. Wenn also jemand noch DEN entscheidenen Tipp hätte ... das wäre top. Unser Dienstleister berichtet übrigens von weiteren betroffenen Kunden. Also kann es kein Einzelfall sein.
 
Das ist übrigens vorher erwähnte "Konsolenanwendung", die aktuell als Workaround für den OutOfMemory-Failure genutzt wird.
 

Anhänge

  • 2021-03-31 08_58_31-Window.png
    2021-03-31 08_58_31-Window.png
    24 KB · Aufrufe: 63
Wir hatten auch so einen Fall in der 8.1 (auch Virtualisiert), dort wurde der Arbeitsspeicher für die Virtuelle Maschine SQL Server erhöht. Die Maschine war auch nur für den SQL zuständig. Der Arbeitsspeicher wurde auf 32 GB hinterlegt (hatte vorher 16 GB) hat und den Anfangswert (Start Punkt) auf 24 GB gelegt, in der VM gab es dazu eine Einstellung.
 
Wenn der AppServer in der Konsole ausgeführt wird, läuft er im Kontext des aktuell angemeldeten Benutzers und hat pro Isolationsprozess maximal 3GB Arbeitsspeicher zur Verfügung. Anders sieht es aus, wenn er als Dienst ausgeführt wird. Wenn für den Dienst die Option "Datenaustausch zwischen Dienst und Desktop zulassen" gesetzt ist, erhält man etwas mehr Speicher, der aber immer noch mit allen anderen Programmen (z.B. Apache, HR, CRM ...), die unter dem "Lokalen System-Konto" ausgeführt werden, geteilt werden muss (Desktop-Heap-Memory Session 0). Um den vollen Speicher, wie in der Konsole, zur Verfügung zu haben, kann man den AppServer-Dienst unter einem dedizierten Dienst-Konto betreiben. Dabei ist allerdings zu beachten, dass dann alle HTTP-Dienste (z.B. weitere Web-Anwendungen etc.) unter diesem Konto ausgeführt werden müssen.
 
Wenn der AppServer in der Konsole ausgeführt wird, läuft er im Kontext des aktuell angemeldeten Benutzers und hat pro Isolationsprozess maximal 3GB Arbeitsspeicher zur Verfügung. Anders sieht es aus, wenn er als Dienst ausgeführt wird. Wenn für den Dienst die Option "Datenaustausch zwischen Dienst und Desktop zulassen" gesetzt ist, erhält man etwas mehr Speicher, der aber immer noch mit allen anderen Programmen (z.B. Apache, HR, CRM ...), die unter dem "Lokalen System-Konto" ausgeführt werden, geteilt werden muss (Desktop-Heap-Memory Session 0). Um den vollen Speicher, wie in der Konsole, zur Verfügung zu haben, kann man den AppServer-Dienst unter einem dedizierten Dienst-Konto betreiben. Dabei ist allerdings zu beachten, dass dann alle HTTP-Dienste (z.B. weitere Web-Anwendungen etc.) unter diesem Konto ausgeführt werden müssen.

Hallo Herr Müller,

wir haben bei uns eine verteilte App Server-Installation in Azure mit einem SQL-Server und laufen circa jede Woche einmal auf das Problem, dass alle Anwender des betroffenen App-Servers ab einem bestimmten Punkt beim Öffnen oder Laden neuer Elemente die Meldung bekommen "Der Applikationsserver ist gerade zu beschäftigt. Bitte versuchen Sie es später erneut", "Es ist ein Fehler beim Senden der Anfrage aufgetreten. Fehlercode: ConnectFailure." etc. Dieses Problem besteht, seitdem wir von Citrix auf Azure umgezogen sind (gleiche Ressourcen der AppServer wie früher):

- Sage 100 Version 9.0.6.6 mit durchschnittlich 175 aktiven Wawi/Rewe Usern verteilt über 20 Datenbanken.

- 2x App Server (Master, Slave):

CPURAM (GB)Disks (GB)OS
864OS 128 Disk1 256Server 2019 Datacenter

- SQL Server:
CPURAM (GB)Disks (GB)OS
16128OS 128
Disk1 1024
Disk2 256
Disk3 1024
Disk4 256
Server 2019 Datacenter

Sämtliche Punkte der Leistungsdiagnose sind durchgeführt sowie Hinweise für die Konfiguration und Performanceoptimierung des App-Dienstes im Sage Server Manager etc. sind beachtet.

Da beide AppServer sowie der SQL-Server für Sage reserviert sind, sehe ich eigentlich keinen Grund alle Dienste von Sage auf separate User aufzuteilen (Dienste von Anpassungen laufen unter separatem User). In neueren Betriebssystemen soll ja auch laut Microsoft die Speicherzuweisungen dynamisch erfolgen.

Nach aktuellem Stand liegt das Problem denke ich an der Verwaltungsstruktur der Applikationsserver, welche ab einem gewissen Punkt überlastet ist und das Dispatching einer Anfrage nicht mehr ermöglicht. Ursache wird gesucht....-- habe mich auch schon auf "Geistersuche" à la Thomas Ostermann begeben....

Im Moment protokolliere ich die Anzahl von ServiceDomainsCreationRejected und RejectedServiceCalls, aber habe hierzu noch keine Ergebnisse vorliegen.

Das Problem kann nur durch Neustart beider Applikationsserver-Dienste behoben werden. Meistens müssen dann auch manuell die Isolationsprozesse (Status "Erstellt/Geschlossen") beendet werden, weil diese nicht automatisch nach max. 60 sek. abgeräumt werden.

Es wird jeden Sonntag im Wartungsfenster ein Neustart aller Server durchgeführt.

Wäre eine Aufteilung auf einen weiteren Slave sinnvoll? -- also statt 1 Slave mit 64 Gig, eher 2 Slave mit 32 Gig.
Kann ein Applikationsserver mit genügend RAM in der 9.0.6.6 mehr als 30-35 User performant verwalten?

Vielen Dank im Voraus!
 
Zuletzt bearbeitet:
Zurück
Oben