Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Speicherbedarf ermitteln (https://www.delphipraxis.net/169727-speicherbedarf-ermitteln.html)

Mike_on_Tour 8. Aug 2012 07:39

Speicherbedarf ermitteln
 
Guten Morgen,

bei einigen Kunden bekommen wir mit unserer Software eine "Fehler"meldung, dass nicht genug Speicher zur Verfügung steht. Meistens handelt es sich dabei um Computer, die gerade unsere Hardware-Mindestanforderung erfüllen. Von daher ist das also nicht prinzipiell ein Fehler der Software.

Gibt es Tools (Freeware), mit denen die Speicherauslastung überprüft werden kann und welche Mittel bietet Delphi ?

Mike

himitsu 8. Aug 2012 07:56

AW: Speicherbedarf ermitteln
 
Freewaretool = Taskmanager?

Delphi = Es ist ja nicht so, als wenn die Forensuche nichts zu Hier im Forum suchenSpeicherbedarf oder Hier im Forum suchenSpeicherauslastung sagen würde.


Und was willst du wissen, den die aktuelle Auslastung, einen Maximalwert oder eher eine Messreihe über einen Zeitraum?

http://www.delphipraxis.net/169325-f...ermitteln.html
Ich hatt mir vor 'ner Weile eine kleine billige Komponente gebastelt, welche über GlobalMemoryStatusEx und Co. ein bissl was mitloggt. (find's auf die Schnelle nur nicht wieder, aber is hier irgendwo zu finden)

Mike_on_Tour 8. Aug 2012 08:36

AW: Speicherbedarf ermitteln
 
Zitat:

Zitat von himitsu (Beitrag 1177280)
Freewaretool = Taskmanager?

Taskmanager ist beim Kunden deaktiviert. Deshalb die Angabe 'Freeware'. Wäre z.B. der Process Hacker Portable eine gute Lösung ?

Zitat:

Zitat von himitsu (Beitrag 1177280)
Delphi = Es ist ja nicht so, als wenn die Forensuche nichts zu Hier im Forum suchenSpeicherbedarf oder Hier im Forum suchenSpeicherauslastung sagen würde.

Ja, die Suchfunktion. Es ist halt einfacher, die Frage zum x. Mal zu stellen. Ich gelobe Besserung.

Zitat:

Zitat von himitsu (Beitrag 1177280)
Und was willst du wissen, den die aktuelle Auslastung, einen Maximalwert oder eher eine Messreihe über einen Zeitraum?

Ich würde eine Messreihe vorziehen.

Zitat:

Zitat von himitsu (Beitrag 1177280)
Ich hatt mir vor 'ner Weile eine kleine billige Komponente gebastelt, welche über GlobalMemoryStatusEx und Co. ein bissl was mitloggt. (find's auf die Schnelle nur nicht wieder, aber is hier irgendwo zu finden)

Eine Komponente ist nicht gleich notwendig. Mir reichen schon ein paar Infos zur Realisierung und das man mit jemanden darüber diskutieren kann.

Mike

himitsu 8. Aug 2012 08:49

AW: Speicherbedarf ermitteln
 
Wobei man es nicht wirklich "Komponente" nennen dürfte. :stupid:
http://www.delphipraxis.net/168800-s...benutzung.html
Das Ding läuft bei uns im Apps mit und loggt noch ein paar Dinge mehr, wie z.B. offene Verbindungen, Anzahl der verbundenen Klienten, usw.

Wenn dort schon der Taskmanager gesperrt ist ... glaubst du die würden sich über einen Process Hacker freuen?
Abgesehn davon, würdest du dann mit Kanonen auf Spatzen einer atomar bestückten Raumstation auf einen Floh schießen.



Die Frage ist auch, was genau willst du messen?
- Gesamtspeicherauslastung des Rechners
- Speicherauslastung eines Prozesses
- ...


Tools selber kannte ich jetzt nicht direkt, außer dem, was an Kanonen bei Sysinternals rumliegt,
aber google meinte zu [MSDN]Speicherüberwachung[/MSDN] z.B. http://www.besttips.de/freeware/syst...cher-ram_1.htm (also das Erste auf der Seite)

Morphie 8. Aug 2012 08:58

AW: Speicherbedarf ermitteln
 
wie heißt denn die Meldung genau? Aus eigener Erfahrung kann ich berichten, dass die Meldung "Nicht genügend Speicher" selten wirklich was mit Arbeitsspeicher zutun.
Eher was mit GDI-Handles oder dem Stack...

Mike_on_Tour 8. Aug 2012 09:19

AW: Speicherbedarf ermitteln
 
Zitat:

Zitat von himitsu (Beitrag 1177284)
Wobei man es nicht wirklich "Komponente" nennen dürfte. :stupid:
http://www.delphipraxis.net/168800-s...benutzung.html
Das Ding läuft bei uns im Apps mit und loggt noch ein paar Dinge mehr, wie z.B. offene Verbindungen, Anzahl der verbundenen Klienten, usw.

So viele Infos brauchen wir gar nicht.

Zitat:

Zitat von himitsu (Beitrag 1177284)
Tools selber kannte ich jetzt nicht direkt, außer dem, was an Kanonen bei Sysinternals rumliegt, ...

Bei SysInternals habe ich auch schon nachgeschaut. Ich war aber der Meinung, dass kein Programm für mich geeignet wäre. Sollte ich etwas übersehen haben ?

Zitat:

Zitat von himitsu (Beitrag 1177284)
... aber google meinte zu [MSDN]Speicherüberwachung[/MSDN] z.B. http://www.besttips.de/freeware/syst...cher-ram_1.htm (also das Erste auf der Seite)

Die Seite ist nicht erreichbar (letzte Änderung wahrscheinlich 2008 ?)

Zitat:

Zitat von himitsu (Beitrag 1177284)
Wenn dort schon der Taskmanager gesperrt ist ... glaubst du die würden sich über einen Process Hacker freuen?

Die Namensgebung war ja nicht meine Idee. Das Programm ist aber 'portable', muss also nicht installiert werden. Das heißt, ich kann es einspielen, laufen lassen und hinterher wieder löschen. Das mache ich z.B. mit 'FlameRobin' im Notfall auch so.

Zitat:

Zitat von himitsu (Beitrag 1177284)
Die Frage ist auch, was genau willst du messen?
- Gesamtspeicherauslastung des Rechners
- Speicherauslastung eines Prozesses
- ...

Ich würde gern sehen, wie sich der Speicherbedarf nach dem Start bzw. Ende bestimmter Funktionen ändert. Aber da sind wir vielleicht auch schon bei dem Thema http://www.delphipraxis.net/169700-m...elphi-xe2.html von gestern.

Mike

Mike_on_Tour 8. Aug 2012 09:28

AW: Speicherbedarf ermitteln
 
Zitat:

Zitat von Morphie (Beitrag 1177288)
wie heißt denn die Meldung genau? Aus eigener Erfahrung kann ich berichten, dass die Meldung "Nicht genügend Speicher" selten wirklich was mit Arbeitsspeicher zutun.
Eher was mit GDI-Handles oder dem Stack...

Die Meldung sieht z.B. so aus:
- Exception EOutOfMemory ... Zuwenig Arbeitsspeicher
- Exception EOleSysError ... Für diesen Befehl ist nicht genügend Speicher verfügbar

Ich denke schon, dass es am Arbeitsspeicher liegt, das das Problem nur auf PCs mit 'Minimalausstattung' auftritt.

Mike

himitsu 8. Aug 2012 09:31

AW: Speicherbedarf ermitteln
 
Zitat:

Zitat von Mike_on_Tour (Beitrag 1177295)
Ich würde gern sehen, wie sich der Speicherbedarf nach dem Start bzw. Ende bestimmter Funktionen ändert.

Sowas läßt sich von außerhalb aber eher "schwer" relisieren, vorallem ohne daß dieses externe Programm weiß wann etwas startet und endet.

Also ist man dann eher bei sowas wie AQTime oder eben selber Messpunkte ins Programm einbauen (an den gewünschten Stellen einen Messcode einbinden).

BMI 8. Aug 2012 09:55

AW: Speicherbedarf ermitteln
 
öhm,

nur mal so als Newbie ne Frage:

wird der Speicher denn wohl vom Programmstart an oder während des Laufens/Arbeitens immer mehr belegt?

sicher, daß das Programm keine Speicherlecks hat?
und daß der angeforderte Speicher wieder freigegeben wird?

image.free() (PseudoCode)


wie heißt das Ding noch zum Finden von Speicherlecks? FastMEM ?

Iwo Asnet 8. Aug 2012 10:53

AW: Speicherbedarf ermitteln
 
Unter welchen Voraussetzungen kann denn die Meldung kommen, das nicht genügend Speicher zur Verfügung steht?

1. Ein für den RAM zu großer Speicherbereich wird angefordert (kein zusammenhängendes Stück)
2. Swapdatei zu klein.

Bei (1) sollte dies immer an der/den gleichen Stelle(n) kommen, also würde ich zunächst die Position im Code loggen, an der es knallt.

Bei (2) sollte eine Änderung in den Windowseinstellungen helfen.

Ich würde auch mal darüber nachdenken, ob die "Mindestanforderung" nicht einfach zu klein gewählt ist.
Also, wenn ich sage, das der LKW durch einen 4m hohen Tunnel passt, aber der LKW ist 4,05m hoch, dann kann ich natürlich die Luft aus den Reifen lassen oder das Teil tiefer legen, aber einfacher wäre eine Korrektur der Mindestanforderung.


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