Seite 1 von 1

Garbage Collector priorisieren

Verfasst: Sa, 05. Jan 2019 19:11
von ramses
Hi

Gibt es einen Weg oder Trick dem Garbage Collector eine höhere Priorität zuzuweisen?

Ich habe das Problem dass bei längerer (einige Minuten) maximaler Auslastung des Prozessors durch ein Programm mit mehreren Threads im Programm der Garbage Collector mit mehr oder nicht mehr korrekt Aufräumt was nach einigen Minuten zu steigendem Speicherverbrauch und dann zu einem Crash führt.


Gruss Carlo

Re: Garbage Collector priorisieren

Verfasst: Sa, 05. Jan 2019 22:11
von AUGE_OHR
hi,

IMHO gibt es mit "pure" Xbase++ keinen Weg den CG gezielt zu aktivieren aber eine SLEEP(0) wirkt Wunder.

... ich meine bei Pablo mal ein Trick gesehen zu haben aber ich finde ihn nicht.

Re: Garbage Collector priorisieren

Verfasst: So, 06. Jan 2019 10:03
von Manfred

Re: Garbage Collector priorisieren

Verfasst: So, 06. Jan 2019 12:37
von ramses
Danke für den Hinweis mit sleep(0).

Mit Sleep() bin ich jetzt seit Tagen am Experimentieren.
Ich konnte damit ereichen dass es ein wenig länger dauert bis es zum Crash kommt und vorallem die Performance mehr oder weniger schlechter wird.

Das grundsätzliche Problem bleibt jedoch bestehen.

Das Xbase Programm läuft mit ALLEN Threads auf EINEM einzigen Prozessorkern. (es sind ja je nach Gerät nur 10-20 Kerne vorhanden)
So lange dieser eine verwendete Kern nicht voll ausgelastet ist funktioniert alles einwandfrei über Wochen!
Steigen die Anforderungen und damit die Auslastung des einen verwendeten Kerns gegen 100% beginnt der verwendete Arbeitsspeicher zu steigen. Auch wenn die Auslastung in Wellen kommt der Speicher der zu Zeiten der 100% Auslastung belegt wird wird nicht mehr freigegeben. Und irgendwann kommt es zum Crash. Bezw. Fehler.

Der ist immer:
ERROR BASE/2266 Empfänger der Nachrichten ist kein Objekt


Ein Callstack oder Infos zu Ursächlichen Zeile ist dann nicht verfügbar. Es gelingt auch nicht die Threads aus dem Errorhandler neu zu starten oder das Programm zu beenden.
Das Programm kann nur im Taskmanager beendet werden oder durch ALT-C.

Letzteres zeigt dann als Hinweis noch:
FATAL ERROR LOG
Abort with Alt-C
SYS Thread-ID: 1328
Module: EVM
Error Codes: EH: 11 Sub: 0(0) OS: 0 XPP: 0



Gruss Carlo

Re: Garbage Collector priorisieren

Verfasst: Mo, 07. Jan 2019 8:59
von brandelh
Die unlesbaren Kommentare, ist das ein Fehler der Zitat Funktion ?
So ein Mist
scheint so, denn ich habe ...

Code: Alles auswählen

[quote]So ein Mist[/quote]
eingegeben

Re: Garbage Collector priorisieren

Verfasst: Mo, 07. Jan 2019 9:10
von Martin Altmann
:?: Welche unlesbaren Kommentare meinst Du?

Viele Grüße,
Martin

Re: Garbage Collector priorisieren

Verfasst: Mo, 07. Jan 2019 9:18
von brandelh
Ich sehe oben das:
Kommentarfenster.png
Kommentarfenster.png (13.58 KiB) 7818 mal betrachtet

Re: Garbage Collector priorisieren

Verfasst: Mo, 07. Jan 2019 9:23
von Martin Altmann
Ah - OK!
Ich sehe das:
Unbenannt.PNG
Unbenannt.PNG (8.32 KiB) 7814 mal betrachtet
Viele Grüße,
Martin

Re: Garbage Collector priorisieren

Verfasst: Mo, 07. Jan 2019 9:43
von brandelh
mit PROSILVER stimmt die Anzeige, ich hatte All...subsilver

Re: Garbage Collector priorisieren

Verfasst: Mo, 07. Jan 2019 9:44
von Martin Altmann
Das hatte ich vermutet - darum habe ich es auch unter ALLANStyle versucht - geht bei mir genauso!
Solltest mal deinen Cache leeren.

Viele Grüße,
Martin

Re: Garbage Collector priorisieren

Verfasst: Mo, 07. Jan 2019 9:59
von brandelh
Firefox zeigt es richtig an auch mit Allen..., mein Google Chrome hat aber damit ein Problem.

Re: Garbage Collector priorisieren

Verfasst: Mo, 07. Jan 2019 10:25
von Martin Altmann
Ich kann mich nur wiederholen - leere Deinen Cache und Deine temporären Internetdateien!
Habe es auch gerade mit Google Chrome ohne Probleme versucht.

Viele Grüße,
Martin

Re: Garbage Collector priorisieren

Verfasst: Mo, 07. Jan 2019 10:45
von brandelh
den habe ich heute morgen frisch aufgemacht, reicht F5 ?

Meine gespeicherten Kennwörter möchte ich nicht zurücksetzen ;-)

Re: Garbage Collector priorisieren

Verfasst: Mo, 07. Jan 2019 10:48
von brandelh
OK unter Einstellungen / Datenschutz habe ich das gefunden und jetzt geht es.