LabVIEWForum.de
Speicherauslastung Windows Service - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: Speicherauslastung Windows Service (/Thread-Speicherauslastung-Windows-Service)



Speicherauslastung Windows Service - kwakz - 08.05.2017 07:08

Hallo zusammen,

ich bräuchte mal wieder ein paar Lösungshinweise ;-)

Ich habe ein Programm geschrieben, dass zu produzierten Einzelteilen aus unserer Fertigung auf Anfrage einen PDF-Report erzeugen soll. Zum Aufbau:

Das Programm fragt regelmäßig eine Tabelle in einer Datenbank ab. Wenn in dieser Tabelle ein Auftrag für eine Reihe von Seriennummern abgelegt ist, dann werden für jedes Teil die notwendigen Daten und Kurven aus einer weiteren Datenbank eingesammelt und in einer tdms-Datei abgespeichert. Die Datei wird anschließend an Diadem übergeben und es wird ein pdf-Report erzeugt. Das funktioniert soweit auch wie gewünscht.

Starte ich dieses Programm nun händisch auf meinem Server, dann läuft alles einwandfrei, wobei auch die Speicherauslastung im erwarteten Rahmen bleibt. Ich möchte das Programm jetzt allerdings als Windows-Service laufen lassen, damit die Abarbeitung der Aufträge auch funktioniert, ohne dass ein Benutzer auf dem Server angemeldet ist. Die Ausführung als Service funktioniert prinzipiell auch, nur steigt die Auslastung des Arbeitsspeichers stark an, sobald ein Auftrag abgearbeitet wird. Nach der Abarbeitung bleibt die Speicherauslastung auch auf dem hohen Niveau. Erst wenn der Service über einen längeren Zeitraum (im Bereich 30 Minuten) im Leerlauf ist, geht die Speicherauslastung langsam zurück und erreicht wieder ihren Ursprungswert.

Die frage ist jetzt: Woher kommt dieses unterschiedliche Verhalten bei der Ausführung als Service? Alle Referenzen zu den tdms-Dateien, die Verbindung zur Datenbank und auch die Verbindung zum Diadem werden nach der Abarbeitung des Auftrags korrekt geschlossen.

Gruß
Daniel