AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi "Nicht genug Arbeitsspeicher" - aber noch 600MB Frei?!
Thema durchsuchen
Ansicht
Themen-Optionen

"Nicht genug Arbeitsspeicher" - aber noch 600MB Frei?!

Offene Frage von "Sereby"
Ein Thema von Sereby · begonnen am 29. Jan 2010 · letzter Beitrag vom 29. Jan 2010
Antwort Antwort
Seite 1 von 2  1 2      
Sereby

Registriert seit: 31. Mär 2008
91 Beiträge
 
#1

"Nicht genug Arbeitsspeicher" - aber noch 600MB Fr

  Alt 29. Jan 2010, 11:41
Hiho,

ich habe in meinem Programm MadExcept eingebaut und das ruft automatisch ein php script auf was die Bugreports auf meinen FTP hochlädt, da die meisten user zu faul sind die hochzuladen bzw zu posten...

Und dabei habe ich heute nen sonderbaren bugreport erhalten:
Zitat:
date/time : 2010-01-29, 10:57:20, 750ms
computer name : ...
user name : ... <admin>
registered owner : ...
operating system : Windows XP Service Pack 3 build 2600
system language : German
system up time : 56 minutes 3 seconds
program up time : 38 minutes 27 seconds
processors : 2x AMD Athlon(tm) 64 X2 Dual Core Processor 6000+
physical memory : 605/2046 MB (free/total)
free disk space : (E 38,34 GB
display mode : 1280x1024, 32 bit
process id : $9d8
allocated memory : 1,89 GB
executable : ...
exec. date/time : 2010-01-08 18:00
version : ...
compiled with : Delphi 2009
madExcept version : 3.0k
callstack crc : $79688c38, $0a140e98, $9200c7d2
exception number : 4
exception class : EOutOfMemory
exception message : Zu wenig Arbeitsspeicher.
wie man daran sehen kann meckert er, dass er angeblih zu wenig arbeitspeicher besitzt allerdings sieht man auch dass noch 605MB frei zur verfügung stehen!?

Meine frage ist nun wie das sein kann und wie man grundsätzlich solche Probleme umgehen kann. eigentlich müsste er ja auch anfangen in die Auslagerungsdatei zu schreiben wenn der Arbeitsspeicher voll ist und nicht einfach ne exeption werfen...

gibts möglichkeiten das abzufangen?

MfG Sereby
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: "Nicht genug Arbeitsspeicher" - aber noch 600M

  Alt 29. Jan 2010, 11:44
Der (Freie) physikalische Speicher ist sch.... Egal. Dein prozess kann ohne spezielle Anpassung nur 2 GB haben.
Und MadExpert schreibt ja:

Zitat:
allocated memory : 1,89 GB
Also bist du hier schon am Anschlag. Und wenn du nun einen größeren Block anforderst kann es vorkommen das dieser in deinem pysikalischen Adressraum nicht an einem Stück verfügbar ist!
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: "Nicht genug Arbeitsspeicher" - aber noch 600M

  Alt 29. Jan 2010, 11:47
Was macht den dein Program, wenn es einen solchen Speicherbereich anfordert?
Markus Kinzler
  Mit Zitat antworten Zitat
Sereby

Registriert seit: 31. Mär 2008
91 Beiträge
 
#4

Re: "Nicht genug Arbeitsspeicher" - aber noch 600M

  Alt 29. Jan 2010, 11:50
hab ich auch gerade gesehn dass der da knapp 2GB zugewiesen hat.
Das mit der 2GB grenze wiss ich auch und das erklärts natürlich.

Die frage ist jedoch wie er das geschafft hat auf 1,89GB zu kommen.... Speicherlecks habe ich nicht drin da ich auch FastMM4 benutze und das alles schon Monate lang durchgetestet habe in allen möglichen Szenarien :-/
Zur frage was es macht: Lädt Hotfixes (2000, XP, 2003, Vista, 7) in den arbeitsspeicher, analysiert diese und wenn die analyse abgeschlossen ist werden die nötigen infos ausm speicher geworfen und am ende alles zusammengewürfelt und ein großes update aus allen ausgewählten erstellt. Beim erstellen wird ebenfalls alles in den arbeitsspeicher geladen da das wesentlich schneller ist als den ganzen mist erstmal auf die HDD zu entpacken. Normal ist ein verbrauch von 60 - 100MB + zwischendurch die größe des Hotfixes der aber nach dem analysieren wieder freigegeben wird!

Wie kann man den zugewiesenen Arbeitsspeicher des eigenen Programms denn bestimmen?
Dann frage ich den ab und zu mal ab und werf ne entsprechende Information.

MfG Sereby
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: "Nicht genug Arbeitsspeicher" - aber noch 600M

  Alt 29. Jan 2010, 11:51
Zitat von mkinzler:
Was macht den dein Program, wenn es einen solchen Speicherbereich anfordert?
Vermutlich Speicherlücken produzieren bzw. viele Objekte als Onwer das Formular angeben so das man nicht merkt das man versteckte Speicherlücken hat.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: "Nicht genug Arbeitsspeicher" - aber noch 600M

  Alt 29. Jan 2010, 11:53
Zitat von Bernhard Geyer:
Zitat von mkinzler:
Was macht den dein Program, wenn es einen solchen Speicherbereich anfordert?
Vermutlich Speicherlücken produzieren bzw. viele Objekte als Onwer das Formular angeben so das man nicht merkt das man versteckte Speicherlücken hat.
Ich dachte an die hauptsächliche Aufgabe der Anwendung
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#7

Re: "Nicht genug Arbeitsspeicher" - aber noch 600M

  Alt 29. Jan 2010, 11:53
Und dann gibt es noch das Problem der Speicherdefragmentierung im Delphi-SpeicherManager.

Von FastMM könnte man sich diesbezüglich mal den Speicherstatus und MemoryMap ansehn.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Sereby

Registriert seit: 31. Mär 2008
91 Beiträge
 
#8

Re: "Nicht genug Arbeitsspeicher" - aber noch 600M

  Alt 29. Jan 2010, 11:55
wie gesagt ich verwende FastMM4 als Speichermanager.
Speicherlecks habe ich keine drin sonst würde FastMM ja rummeckern wenn ich es Debugge.
Und solch einen ernormen verbrauch habe ich noch nie gehabt. Das geht nur wenn er eine Datei die mehrere GB groß ist versucht einzulesen..+aber das programm läuft schon 30 min etwa und daher is das nich möglich weil das schon zu fanfang dann sein muss

edit:
hmmmmmm.. der typ hat er alles reingeballter an updates was so existiert... quer beet durch o.O"
muss ich bei mir nochmal genauer prüfen!

dennoch wüsste ich gerne wie man den zugewiesenen arbeitsspeicher der eigenen anwendung auslesen kann
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#9

Re: "Nicht genug Arbeitsspeicher" - aber noch 600M

  Alt 29. Jan 2010, 12:07
Wieviel Speicher sollte da eigentlich reserviert werden?
Das konnte ich nirgendwo rauslesen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Sereby

Registriert seit: 31. Mär 2008
91 Beiträge
 
#10

Re: "Nicht genug Arbeitsspeicher" - aber noch 600M

  Alt 29. Jan 2010, 12:15
generell wird nicht viel "reserviert" je nach hotfixgröße wird ersmal der gesammte fix eingelesen und wenn das auslesen fertig ist wird das wieder freigegeben.
das was übrig bleibt ist ne .inf datei die z.B. bei IE8 etwa 1,7MB groß ist.. bei normalen updates ist die allerdings nur so 27KB.
sehr unterschiedlich das ganze.
Der typ hat allerdings über 600 Updates versucht zu bündeln und da echt alles quer beet durchgewürfelt :-/

Das komische ist als ich versucht hab bei mir knapp 1000 updates zu bündeln war alles im grünen bereich und keinerlei exceptions oder derartige speicherzuweisungen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 07:11 Uhr.
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