Seite 1 von 1
Liststore - Speicherauslastung wächst und wächst und ...
Verfasst: Sonntag 11. September 2005, 09:20
von Gernot Riebold
Hallo,
ich lese Daten aus einer Firebird-DB in einen Liststore ein. Nach einem Clear() verringert sich die Speicherauslastung (im Task-Manager zu sehen) nicht. D.h. bei 10maligem Laden in einen Liststore wächst die Speicherauslatung linear
Ich habe schon alles probiert - vom Erzeugen eine neuen Treeviews incl. neuen Liststore. Ist das Python oder GTK ?
Danke für Eure Antworten
Grüsse Gernot
Re: Liststore - Speicherauslastung wächst und wächst und ...
Verfasst: Sonntag 11. September 2005, 10:13
von ProgChild
Gernot Riebold hat geschrieben:Ist das Python oder GTK ?
Ich hatte mal ein ähnliches Problem. Vielleicht hilft dir das. Bei mir war es das Betriebssystem.
Ich hatte eine relativ große Liste angelegt. Die verschlang ca. 20MB Arbeitsspeicher, der nicht wieder vom Prozess abgezogen wurde, sondern drinn blieb. Irgendwann, hab ich die Liste in eine Schleife gepackt und gesehen, dass obwohl ich die Gleiche Aufgabe 100x ausgeführt hatte, die Speicherauslastung immernoch bei 20MB lag.
Das Problem war, dass das Betriebssystem unter bestimmten Umständen Arbeitsspeicher noch für einen Prozess bereit stellt, obwohl der Prozes ihn schon längst wieder freigegeben hat.
Verfasst: Sonntag 11. September 2005, 10:20
von jens
Hast du es mal mit del() probiert??? Vielleicht brings was?
Verfasst: Sonntag 11. September 2005, 12:47
von mitsuhiko
Hm. Also ich hab das jetzt mal auf meinem Linux Rechner getestet, da kann ich das Problem leider nicht reproduzieren. Solltest du die Windows Version haben, könnte es sein, dass die Entwickler dort vergessen haben Speicher frei zu machen ;-(
Verfasst: Montag 12. September 2005, 11:14
von Gernot Riebold
Hallo,
vielen Dank für die Antworten. Ich arbeite unter WinXP.
Iteriere ich über die Result-Rows der DB-Abfrage und schreibe diese in eine Liste - wird der Speicher wieder freigegeben. Sobald ich diese aber in einen Liststore schreibe, wächst der Speicherbedarf bei jedem Schreiben in den Liststore an, obwohl ich als Test versuchte
1. Den Liststore zu clearen (clear())
2. Den Treeview zu löschen und neu aufzubauen
3. Den Liststore zu löschen und neu aufzubauen
Nix geht.
Grüsse
Gernot