Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Momentan reservierter Speicher des Programmes rausfinden ?? (https://www.delphipraxis.net/7000-momentan-reservierter-speicher-des-programmes-rausfinden.html)

Shadow 29. Jul 2003 17:14


Momentan reservierter Speicher des Programmes rausfinden ??
 
Hi ....

Ein Prgramm darf ja maximal 2GB Speicher schlucken... weiß jemand mit welcher Funktion man unter Delphi den mom. verbrauchten Speicher des Programmes zur Laufzeit feststellen kann ?? Um einen eventuellen "Out of Memory" beim allozieren von Speicher abzufangen.

MfG Andy

sakura 29. Jul 2003 17:21

Re: Momentan reservierter Speicher des Programmes rausfinden
 
Das hatte ich doch gerade erst gefragt :roll: Gilt auch für EXEn ;-)

http://www.delphipraxis.net/viewtopic.php?t=7666

...:cat:...

Alexander 29. Jul 2003 17:22

Re: Momentan reservierter Speicher des Programmes rausfinden
 
Kuck dir mal das hier an:
http://msdn.microsoft.com/library/de...memoryinfo.asp

Shadow 29. Jul 2003 17:25

Re: Momentan reservierter Speicher des Programmes rausfinden
 
Oh habe nicht gesehen das die frage erst kürzlich gestellt wurde ... hätte mal vorher schaun sollen. Mein Fehler, sorry.

Und danke für den Hinweis ;-)

Chewie 29. Jul 2003 17:27

Re: Momentan reservierter Speicher des Programmes rausfinden
 
So mal nebenbei: Die OutOfMemory-Exception wirst du in den meisten Fällen nicht bekommen, weil dein virtueller Speicher voll ist, sondern eher, weil keine freien Handles mehr zur Verfügung stehen, und auch wahrscheinlich nur unter 9x/ME (denn da sind die begrent auf 16irgendwas - (2 hoch 16) durch 4 halt :roll: ).

Shadow 29. Jul 2003 17:39

Re: Momentan reservierter Speicher des Programmes rausfinden
 
Habe win2000 laufen und bekomme beim allozieren von zu viel Speicher eine "Out of Memory" Exception. Wenn es an den Handels liegt ... wie kann ich überprüfen ob noch genug oder wieviel überhaupt noch frei sind ??


MfG Andy

Chewie 29. Jul 2003 18:03

Re: Momentan reservierter Speicher des Programmes rausfinden
 
Ach verdammt, bei den Handles wird eine EOutOfResources ausgelöst. Klingt ja so ähnlich. :?

Na ja, dann wirds doch am Speicher liegen.
Wann genau tritt der Fehler auf? Und tritt er immer auf, oder nur manchmal?

Shadow 29. Jul 2003 18:19

Re: Momentan reservierter Speicher des Programmes rausfinden
 
Also ich alloziere Speicher, wenn die Auslagerungsdatei und der Ram voll ist bekomm ich selbstverständlich eine "Out of Memory" Exception. Diesen fehler möchte ich gerne abfangen.

Am besten wäre es wenn ich die Exception gar nicht erst auftreten lass und den Speicherverbrauch vorher einschränke.

System.GetHeapStatus() liefert ja ein record mit vielen Memory Daten... kann ich damit irgendwie ein maximum des noch zur Verügung stehen Speichers für mein Programm feststellen ? Und damit das allozieren des Speichers vorzeitig stoppen ?


MfG Andy

sakura 29. Jul 2003 18:26

Re: Momentan reservierter Speicher des Programmes rausfinden
 
Das ist etwas umständlicher. Aber wie wäre es mit einer Optimierung Deines Programmes, so dass Du erst gar nicht 2 GB brauchst. Was spricht dagegen?

...:cat:...

Shadow 29. Jul 2003 18:31

Re: Momentan reservierter Speicher des Programmes rausfinden
 
Bei dem Programm handelt es sich um das GameOfLife, vieleicht kennst du das... ich erzeuge dabei eine art Matrix über Listenstrukturen. Bei dieser Simulation ist es zwingend notwendig, das sich die Matrix dynamisch vergrössern läßt. Und somit kann es schnell mal passieren das die 2GB Gerenze erreicht wird :(

Irgendwie muß ich die mom. Grösse abfragen können... damit ich die Simulation rechtzeitig beenden kann, bevor ich die 2GB überschreite.

MfG Andy


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:59 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz