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
Liststore - Speicherauslastung wächst und wächst und ...
Ich hatte mal ein ähnliches Problem. Vielleicht hilft dir das. Bei mir war es das Betriebssystem.Gernot Riebold hat geschrieben:Ist das Python oder GTK ?
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.
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
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 ;-(
TUFKAB – the user formerly known as blackbird
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
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