Einzelnen Beitrag anzeigen

TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
608 Beiträge
 
Delphi 11 Alexandria
 
#1

Anwendung frisst auf Windows 7 Arbeitsspeicher

  Alt 1. Mär 2023, 11:49
Hallo,

ich habe eine 32 Bit Anwendung mit Delphi 11.0 kompiliert und wenn ich die Anwendung laufen lassen verbraucht sie mit laufe der Zeit immer mehr Speicher. Jedoch ist das Verhalten unter Windows 10 ein anderes als unter Windows 7. Während bei Windows 10 der Speicher irgendwann freigeben wird, wächst die Anwendung unter Windows 7 ununterbrochen weiter, bis irgendwann das Limit erreicht wird und dann die Anwendung abstürzt. Bei Windows 10 wächst die Anwendung von 3,5 MB auf über 60 MB an und dann wird auf einmal alles wieder freigeben und die Anwendung ist wieder nur wenige MB groß.

Die Anwendung ist ein kleines Tool was im System-Tray läuft und die ganze Zeit im Hintergrund ein Verzeichnis überwacht ob dort neue Dateien liegen, sind Dateien vorhanden werden die Dateien eingelesen und verarbeitet. In der Anwendung wird mit verschiedenen Threads gearbeitet.

Ich habe den gesamten Quelltext überprüft als auch mit FastMM4 versucht herauszufinden, ob und wo das Problem ist. Es kam nur einmal vor das ich nachdem Beenden der Abwendung in der Entwicklungsumgebung eine Meldung von FastMM4 kam, das es ein Speicherleck geben würde. Jedoch ohne Hinweis wo und an welcher Stelle das passiert ist.
Code:
This application has leaked memory. The small block leaks are (excluding expected leaks registered by pointer):

21 - 36 bytes: System.SysUtils.EListError x 5
101 - 116 bytes: UnicodeString x 5

Ich weiß natürlich das man heutzutage kein Windows 7 mehr einsetzen sollte, aber es handelt sich hier bei um einen speziellen Rechner bei einem Kunden. Das aber auch unter Windows 10 der Speicherverbrauch so "hoch" ist, verstehe ich nicht ganz.

Vielleicht hat hier jemand einen Tipp, mit welchen Methoden man der Ursache auf den Grund gehen könnte. Leider kann ich aus Gründen hier nicht den gesamten Quelltext der Anwendung einstellen.

Die Anwendung ist über viele Jahre weiter entwickelt worden und daher auch mit unterschiedlichen Delphi Versionen kompiliert worden und plötzlich zeigt sich dieses Merkwürdige Verhalten.
  Mit Zitat antworten Zitat