Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   verhindern dass mein Programm zu viel ressourcen braucht? (https://www.delphipraxis.net/137373-verhindern-dass-mein-programm-zu-viel-ressourcen-braucht.html)

BBoy 19. Jul 2009 20:31


verhindern dass mein Programm zu viel ressourcen braucht?
 
Wie kann ich verhindern das mein programm zu viel ressourven verbraucht?
Bei meinem Programm steigt der ressourcen verbrauch manchmal so sehr an, dass man nichts mehr am pc arbeiten kann. Nur würde ich das gerne kontrollieren, also bei zuenig freien ressourcen das programm anhalten oder andere gegenmaßnahmen einlieten, weis jemand wie ich das machen könnte?

Bernhard Geyer 19. Jul 2009 20:33

Re: verhindern dass mein Programm zu viel ressourcen braucht
 
Von wieviel Ressourcen (GDI, User, ...) sprechen wir?
Einfach ist es z.B. Formulare nur zu erzeugen wenn Sie auch benötigt werden (keine Automatische Formularerzeugung).
Dann alle Ressouren sofort wieder nach verwendung freigeben.

BBoy 19. Jul 2009 20:53

Re: verhindern dass mein Programm zu viel ressourcen braucht
 
das programm leggt manchmal den ganzen pc lahm. Es ist ein programm das html seiten phrasen tut.

Anders gefragt, kann ich den ressourcen verbrauch in delphi irgendwie abfragen und darauf reagieren?

Bernhard Geyer 19. Jul 2009 21:09

Re: verhindern dass mein Programm zu viel ressourcen braucht
 
Zitat:

Zitat von BBoy
das programm leggt manchmal den ganzen pc lahm.

Du meinst es verbraucht 100% CPU-Zeit? Falls es nur das ist so kannst du die Priorität deines programms während des Parsens heruntersetzen (SetPriorityClass)

jaenicke 19. Jul 2009 21:10

Re: verhindern dass mein Programm zu viel ressourcen braucht
 
Nun ja, du musst eben schauen was dein Programm da macht. Ich meine, ich habe schon riesige Datenmengen verarbeitet, aber es gab nie Probleme mit dem Arbeitsspeicher oder ähnliches.

Da ist deine Herangehensweise ungünstig. Insbesondere, wenn es nur um das Parsen von HTML-Seiten geht.

Und du hast auch immer noch nicht gesagt was du mit Ressourcen meinst? Arbeitsspeicher? CPU-Last? ...
Arbeitsspeicher: Du muss schauen wo dein Programm so viel braucht.
CPU-Last: Endlosschleife oder sowas?

BBoy 19. Jul 2009 21:22

Re: verhindern dass mein Programm zu viel ressourcen braucht
 
das problem ist, dass mein programm stundenlang ohne probleme arbeitet, manchmal sogar den ganzen tag. Aber manchmal kommt es zu dieser außergewöhlichen auslastung. Daher kann ich nicht direkt erkennen woran es liegt. und eben aus diesem grund wollte ich mir so eine art alarm einbauen, wenn die ressourcen in windows zu sehr ansteigen wir ein alarm ausgegeben und ich kann am programm nachsehen was los ist. meine vermutung ist das es eine bestimmte seite ist die zu viele verbindungen gleichzeitig aufbaut, aber ich weis es nicht genau.

Was ich mit ressourcen meine? Ich denke mal cpu-last, oder an was liegt es wenn soagr an einem 3Ghz pc so gut wie nichts mehr geht?

himitsu 19. Jul 2009 21:33

Re: verhindern dass mein Programm zu viel ressourcen braucht
 
Zitat:

Zitat von BBoy
oder an was liegt es wenn soagr an einem 3Ghz pc so gut wie nichts mehr geht?

voller RAM?
also daß Windows nur noch mit auslagern in die Pagefile beschäftigt ist.

schau doch einfach mal im Taskmanager was dein Programm so macht.
> RAM, CPU-Last, GDI-Objekte uvm. kann man da schon erkennen ... also ob einer der Werte erhöht ist.

werden die HTML-Seiten vom Internet oder einer Festplatte geladen?

die WindowsFileCache könnte es auch sein ... die dreht manchmal durch, wenn zuviele Dateien zu schnell da durch müssen

jaenicke 19. Jul 2009 21:48

Re: verhindern dass mein Programm zu viel ressourcen braucht
 
Schreibe einmal in den Projektquelltext (Projekt --> Quelltext anzeigen) direkt nach dem begin diese Zeile. Dann lass das Programm aus Delphi heraus laufen, nutze möglichst viele Funktionen und schließe es wieder.
Delphi-Quellcode:
ReportMemoryLeaksOnShutdown := True;
Wenn dann eine Meldung kommt, dann hast du Speicherlecks, und dann wäre es kein Wunder, wenn du nach längerer Laufzeit Probleme bekommst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:03 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