![]() |
"Nicht genug Arbeitsspeicher" - aber noch 600MB Fr
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:
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 |
Re: "Nicht genug Arbeitsspeicher" - aber noch 600M
Der (Freie) physikalische Speicher ist sch.... Egal. Dein prozess kann ohne spezielle Anpassung nur 2 GB haben.
Und MadExpert schreibt ja: Zitat:
|
Re: "Nicht genug Arbeitsspeicher" - aber noch 600M
Was macht den dein Program, wenn es einen solchen Speicherbereich anfordert?
|
Re: "Nicht genug Arbeitsspeicher" - aber noch 600M
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 |
Re: "Nicht genug Arbeitsspeicher" - aber noch 600M
Zitat:
|
Re: "Nicht genug Arbeitsspeicher" - aber noch 600M
Zitat:
|
Re: "Nicht genug Arbeitsspeicher" - aber noch 600M
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. |
Re: "Nicht genug Arbeitsspeicher" - aber noch 600M
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 |
Re: "Nicht genug Arbeitsspeicher" - aber noch 600M
Wieviel Speicher sollte da eigentlich reserviert werden?
Das konnte ich nirgendwo rauslesen. |
Re: "Nicht genug Arbeitsspeicher" - aber noch 600M
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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:39 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