AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Speichernutzung eines Threads

Ein Thema von Hobbycoder · begonnen am 27. Mär 2023 · letzter Beitrag vom 4. Apr 2023
Antwort Antwort
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Speichernutzung eines Threads

  Alt 28. Mär 2023, 09:31
Ja, installiere "Process Hacker", der listet jeden Thread einzeln sehr detailliert auf.
Details liefert er, aber der Speicherverbrauch jedes Threads ist nicht dabei.

Grüße
Dalai
Ahh mist, ich habe es mit Prozesse verwechselt, mein Fehler!
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
1.002 Beiträge
 
#2

AW: Speichernutzung eines Threads

  Alt 3. Apr 2023, 11:20
Vielen Dank für die Anworten.
Das Problem konnte ich dann doch so lösen. Es ging darum, dass der Speicherbedarf einer Anwendung langsam aber kontinuierlich gestiegen ist. In dem Projekt gibt es viele Threads für die Datenverabreitung, und ich hätte das gerne über den Speicherbedarf der Threads ermittelt. Weil ich aber keine Lösung gefunden habe, habe ich dann Thread für Thread deaktiviert bzw. teilweise umgeschrieben. Das hat alles einen Tag in Anspruch genommen, aber letztlich zum Ziel geführt. Am Ende war es natürlich nur ein fehlendes Free im Destructor einer komplexen Datenstruktur.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
shebang

Registriert seit: 7. Feb 2020
149 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Speichernutzung eines Threads

  Alt 3. Apr 2023, 13:31
Am Ende war es natürlich nur ein fehlendes Free im Destructor einer komplexen Datenstruktur.
Nur um sicherzugehen, ReportMemoryLeaksOnShutdown war aktiv? Damit lassen sich solche Probleme eigentlich schnell erkennen. Das hilft natürlich nicht, wenn am Programmende ordentlich aufgeräumt wird, während der Laufzeit aber nicht.
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.010 Beiträge
 
Delphi 2009 Professional
 
#4

AW: Speichernutzung eines Threads

  Alt 4. Apr 2023, 17:41
VEs ging darum, dass der Speicherbedarf einer Anwendung langsam aber kontinuierlich gestiegen ist. (...) Am Ende war es natürlich nur ein fehlendes Free im Destructor einer komplexen Datenstruktur.
Ja, wenn beim Beenden des Programms aufgeräumt wird, sind Memory Leaks nicht mehr so leicht zu entdecken.
Mit dem schon genannten FastMM(4) ist es möglich (anstatt der Memory Leak Auflistung am Programmende) eine Liste der belegten Blöcke zu erstellen, und periodisch in einer Datei zu speichern. (Zum Beispiel alle 30 Sekunden). Wenn man diese dann mit einem Editor öffnet und regelmäßig aktualisiert, kann man erkennen, ob ein Memory Leak im vom Memory Manager verwalteten Speicher besteht.

Dazu habe ich vor Jahren eine kleine Demo-Anwendung erstellt. Hier ist ein Link zu einem Artikel, mit einem Screenshot:
https://mikejustin.wordpress.com/201...almm-new-demo/
(die Links im Artikel sind nicht mehr funktional)
(Es war einmal eine Demo für das jetzige Daraja HTTP Framework)

Die Grafik ist keine Zeitlinie, sondern zeigt an, wie viele Instanzen für welche Blockgrößen jeweils existieren. Wenn zu einer der Blockgrößen immer höhere Werte erreicht werden, ist das ein Indiz für ein Leak.
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz