Einzelnen Beitrag anzeigen

squetk

Registriert seit: 29. Aug 2004
Ort: Cottbus
118 Beiträge
 
Delphi XE2 Professional
 
#1

Interbase 6: IBServer.exe gibt RAM nicht frei

  Alt 21. Mär 2008, 11:46
Datenbank: Interbase • Version: 6.02 • Zugriff über: IBX
Hallo,

bevor entsprechende Hinweise kommen: ja, wir haben selbstverständlich vor, in Kürze auf eine aktuelle Firebird-Version umzusteigen...

Unser Programm ist bei mehreren Kunden seit mehreren Jahren im Einsatz. Bei einem Kunden gibt es das Phänomen, dass der Speicherbedarf der IBServer.exe (Superserver-Installation, ca. 25 Connections, DB ist ca. 2.5 GB gross) auf dem Server (Windows 2003 2 GB RAM) im Tagesverlauf exorbitant in die Höhe schnellt. Das kann mitunter bis zu 2 GB betragen. Leider verabschiedet sich der IBServer dann mit der Fehlermeldung "..invalid save point...", was bedeutet, dass der Speicher zu knapp ist.
Wenn sich alle Clients am Abend abmelden, wird der belegte Speicher (im Taskmanager des Servers zu erkennen), nicht an das Betriebssystem zurückgegeben.
Erst wenn der Interbase-Server gestoppt und wieder gestartet wird, ist der Speicher wieder frei.

Ausser unserer Anwendung greifen noch Fremdanwendungen per ODBC auf die Datenbank zu (was bei den anderen Kunden nicht der Fall ist).

Meine erste Frage ist: Gibt es eine Möglichkeit, dieses Verhalten per Monitoring zu ermitteln, um dem auslösenden Programm auf die Schliche zu kommen?

Ebenfalls von Interesse ist, wie man Interbase zum Speicherfresser machen kann. Langlaufende Transaktionen (wie nach Google-Suche zu diesem Thema gelesen) können es eigentlich nicht sein, da tagsüber eher viele kurze Transaktionen stattfinden.
  Mit Zitat antworten Zitat