Veteran
Beiträge: 132
| Hallo Phil,
die Werte haben mit denen des Taskmanagers nichts zu tun.
Vor fast zehn Jahren (beim Umstieg auf Access 2003 auf 2010) hatte ich das Phänomen häufiger unerklärlicher Abstürze in meiner Anwendung bei mehreren Kunden.
Zusammen mit dem Microsoft Professional Support erkannten wir, dass zu wenig Prozess-Speicher zur Verfügung steht, sobald mehrere (zu viele) Fenster gleichzeitig geöffnet sind (ist kein Access spezifisches Problem, sondern in allen Anwendungen mit mehreren parallel geöffneten Forms) . In Access 2007/2010 wurde die Registerfähigkeit der Formulare eingeführt, was das Phänomen des nur begrenzt zur Verfügung stehenden Speichers in einem 32 bit Prozess (2 GB) ans Licht brachte.
Zur Ermittlung des aktuellen Speicherbedarfs wurde mir von Microsoft ein Tool zur Verfügung gestellt, das die Aufteilung des genutzten Speichers anzeigen kann (die vmmap.exe lege ich hier bei).
Da zusätzlich zu den Abstürzen ab einem Wert von rund 350 MB offenem Restspeicher Funktionen und SQL Befehle kommentarlos nicht mehr ausgeführt werden (wird ohne Hinweis einfach ignoriert), baue ich in alle meine größeren Access Anwendungen eine Speicherkontrolle ein, die den aktuellen Speicherverbrach prüft und anzeigt. Ab etwa 600 MB vor einem zu öffnenden Formular wird das älteste zuvor geöffnete Formular erst automatisch geschlossen.
Eines der Hauptprobleme des Speicherverbrauchs ist, dass ein einmal geöffnetes Formular beim Schließen etwa ein Drittel seines Speicherbedarfs nicht wieder freigibt. Beim erneuten Öffnen verbraucht es dann (zum Glück) aber nur den Gesamtwert (also 1/3 + 2/3).
Wenn du das mal selbst reproduzieren willst, kannst du meine Access Anwendung installieren (www.dokuwork.com).
mfg
Stephan
Ergänzung :
-------------
Das Diagnosetool (vmmap.exe) ist für das Hochladen zu groß. Bei Bedarf kann ich es dir gerne per Mail übermitteln.
Edited by sks 20.11.18 07:49
|