Wenn unsere Anwendung mehrere Wochen durchgängig läuft (2-3 Wochen), hat man immer folgendes Erscheinungsbild. Der Speicher wächst kontinuierlich an und bei 1,55GB ist Schluss (ich weiß, dass nur max 2GB für eine Anwendung zur Verfügung stehen)...
Ausgelesen wird der Speicher wie folgt:
Delphi-Quellcode:
// ...
if GetProcessMemoryInfo(GetCurrentProcess(), pmc, cb) then
begin
MemWert := pmc^.WorkingSetSize;
end;
//...
Eigentlich ist es nicht schlimm, wenn eine Anwendung ein großes Working-Set von Windows zugeteilt bekommt, im Gegenteil: weniger Swappen.
Der Wert, den du ausliest, sagt nicht so viel über den aktuellen Speicherverbrauch aus. Das Working-Set wird reduziert, wenn andere Prozesse den Speicher benötigen.
Wenn du Speicherlecks suchen willst, solltest du bessere
Tools verwenden.
Afaik kannst du dir auch von FastMM die Speicherlecks bei Programmende anzeigen lassen.