vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Speicher füllt sich immer weiter 
Autor: KBW
Datum: 13.07.10 16:26

Servus miteinand. Ich hab bereits hier im Forum gesucht und auch Sachen zum Thema gefunden, aber so richtig glücklich bzw. schlau bin ich leider nicht geworden, deswegen hier meine Frage / mein Problem:

Ich habe einen Dienst für Windows mit VB im VisualStudio2008 Professional entwickelt. Und zwar startet dieser Dienst - abhängig von einer Konfigurationsdatei - immer wieder verschiedene Backgroundworker, bzw. Klassen, die ich vom Backgroundworker abgeleitet habe. Mit einem Timer überprüfe ich eben alle paar Sekunden/Minuten, ob sich was an den Einstellungen(die in einer Konfigurationsdatei hinterlegt sind) was geändert hat, bzw. ob der nächste Durchlauf gestartet werden soll. Das sieht dann so aus:
            For Each item In THREADS
                Dim ACTUAL_THREAD As CBackgroundWorker = CType(item, _
                  CBackgroundWorker)
                ACTUAL_THREAD.updateThreadConfiguration()
 
                If Not ACTUAL_THREAD.IsBusy Then
                    If ACTUAL_THREAD.ThreadConfiguration.NextRun < Date.Now Or _
                      ACTUAL_THREAD.ThreadConfiguration.StartNow Then
                        ACTUAL_THREAD.ThreadConfiguration.StartNow = False
                        ACTUAL_THREAD.RunWorkerAsync()
                        ACTUAL_THREAD.writeConfig()
                    End If
                End If
 
                If ACTUAL_THREAD.ThreadConfiguration.StopNow Then
                    ACTUAL_THREAD.ThreadConfiguration.StopNow = False
                    ACTUAL_THREAD.CancelAsync()
                    ACTUAL_THREAD.writeConfig()
                End If
 
                If Not File.Exists(ACTUAL_THREAD.ThreadLog.LogFile( _
                  RunnerConfiguration.LogDirectory)) Then
                    ACTUAL_THREAD.writeLog()
                End If
                If Not File.Exists( _
                  ACTUAL_THREAD.ThreadConfiguration.ConfigurationFile( _
                  RunnerConfiguration.ConfigurationDirectory)) Then
                    ACTUAL_THREAD.writeConfig()
                End If
            Next
Mein Problem ist jetzt, dass durch die Schleife (und dann auch durch die eventuelle Ausführen der verschiedenen Backgorundworker) immer mehr Speicher belegt wird und dieser dann natürlich irgendwann voll wird. Ein GC.collect bringt leider nichts. Die Speicherauslastung pendelt sich auch nach mehrerern Stunden nicht ein, sondern steigt (etwa linear) an.
Meine Frage ist nun also: Was für Faktoren könnt ihr euch vorstellen, die zu einem stetigen Speicheranwachsen führen?

beste Grüße und Danke schonmal im Vorraus

PS: Ich kann gerne noch mehr code zur Verfügung stellen, aber bevor es ausartet wollte ich nur mal den "Kern" zeigen ...
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Speicher füllt sich immer weiter1.812KBW13.07.10 16:26
Re: Speicher füllt sich immer weiter1.033ModeratorFZelle13.07.10 16:39
Re: Speicher füllt sich immer weiter1.087Chris748313.07.10 17:34
Re: Speicher füllt sich immer weiter1.098ModeratorRalfE13.07.10 17:47
Re: Speicher füllt sich immer weiter994Chris748313.07.10 21:51
Re: Speicher füllt sich immer weiter1.029ModeratorDaveS13.07.10 18:43
Re: Speicher füllt sich immer weiter988ModeratorFZelle13.07.10 20:01
Re: Speicher füllt sich immer weiter1.040ModeratorDaveS13.07.10 18:21
Re: Speicher füllt sich immer weiter979KBW14.07.10 09:42
Re: Speicher füllt sich immer weiter1.064ModeratorDaveS14.07.10 09:48
Re: Speicher füllt sich immer weiter964KBW14.07.10 09:48

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel