AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zu wenig Arbeitsspeicher

Ein Thema von Ines · begonnen am 27. Jan 2010 · letzter Beitrag vom 29. Jan 2010
Antwort Antwort
Seite 1 von 2  1 2      
Ines

Registriert seit: 22. Aug 2006
Ort: Augsburg
96 Beiträge
 
Delphi 2009 Enterprise
 
#1

Zu wenig Arbeitsspeicher

  Alt 27. Jan 2010, 14:40
Hallo DP'ler,

mein Programm bringt (immer wieder mal) den Fehler : zu wenig Arbeitsspeicher.
(Ich hab' Euch damit auch schon genervt.)

Ein Kollege hat mir gesagt, ich müßte das Programm mit anderen Parametern kompilieren, da
diese Rechner alle 4 G Arbeitsspeicher haben und in der boot.ini der Parameter "/3" gesetzt ist.

Könnt Ihr mir sagen - wo und was ich ändern muß - damit diese ..... Rechner mein Programm anstandslos laufen lassen.

Mit FastMM hab' ich gerade mehrere Test gemacht. Es wurden ein paar Speicherlecks angemotzt und die werde ich jetzt versuchen zu beseitigen.

Vielen Dank und viele Grüße
Ines

P.S. Delphi2009 und Win XP
Ines
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Zu wenig Arbeitsspeicher

  Alt 27. Jan 2010, 14:44
Die Frage ist erstmal:
Muß dein Programm überhaupt soviel Speicher verbrauchen?

Oder wäre es nicht besser den Speicherbedarf zu senken.



PS: Wenn du ein Speicherleck hast, welches dafür sorgt, dann würdest du dieses Problem, mit "mehr" Speicher, nur etwas hinauszögern, aber nicht beheben.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.685 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Zu wenig Arbeitsspeicher

  Alt 27. Jan 2010, 14:48
Fast jedes Programm, dass 2GB an RAM verbrät, hat entweder haufenweise Lecks (bzw. reichen einige wenige die sich in Schleifchen aufsummieren auch), oder massive Designprobleme. Mir würde ehrlich gesagt nur sehr wenig einfallen, bei dem man heutzutage wirklich so viel RAM wirklich braucht.

Ich denke mit der Beseitigung der von FastMM monierten Lecks bist du zunächst gut beraten. Wenn es dann noch Probleme gibt, kann man ja weiter schauen.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Ines

Registriert seit: 22. Aug 2006
Ort: Augsburg
96 Beiträge
 
Delphi 2009 Enterprise
 
#4

Re: Zu wenig Arbeitsspeicher

  Alt 27. Jan 2010, 14:50
Hallo,

ich glaube nicht, daß mein Programm soviel Speicher verbraucht.
Es läuft allerdings gleichzeitig mit 5 anderen (zum Teil sehr speicherintensiven Programmen).
Und diese Programme müssen alle gleichzeitig laufen!

Mein Programm läuft auf "normalen" PC (Arbeitsspeicher <= 2 G) - auch zusammen mit anderen Programmen völlig problemlos.

Ich glaube (kann es aber nicht beweisen) daß es nicht an meinem Programm sondern an dem Philips-Programm liegt.

Grüße
Ines
Ines
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Zu wenig Arbeitsspeicher

  Alt 27. Jan 2010, 14:54
Wenn es an den anderen Programmen liegt, dann würde es auch nichts ändern, wenn du in deinem Programm die 3GB-Option aktivierst, da dieses nur ein Maximum an virtuellem Speicherbereich innerhalb deiner Anwenung erhöht,

aber Wenn windows meckert, dann geht ihm der physische Speicher aus.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Ines

Registriert seit: 22. Aug 2006
Ort: Augsburg
96 Beiträge
 
Delphi 2009 Enterprise
 
#6

Re: Zu wenig Arbeitsspeicher

  Alt 27. Jan 2010, 15:04
Zitat von himitsu:
Wenn es an den anderen Programmen liegt, dann würde es auch nichts ändern, wenn du in deinem Programm die 3GB-Option aktivierst, da dieses nur ein Maximum an virtuellem Speicherbereich innerhalb deiner Anwenung erhöht,

aber Wenn windows meckert, dann geht ihm der physische Speicher aus.
Mir wurde gesagt, daß mein Programm nicht den Speicherbereich zwischen 2 und 3 GB nutzen kann und ich deshalb die 3GB-Option setzen muß.

Was meinst Du mit - dann geht im der physische Speicher aus?

Die Größe der Auslagerungsdatei darf Windows selbst festlegen und auf der Platte ist jede Menge Speicherplatz frei.

Ines
Ines
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Zu wenig Arbeitsspeicher

  Alt 27. Jan 2010, 15:09
Dein Programm kann diesen Bereich nur innerhalb seines virtuellen Speichers nicht nutzen.
Wo der virtuelle Speicher aber im physischen Speicher abgelegt wird, das entscheidet Windows und da könnte bei 8 GB RAM der Speicher deines Programms auch teilweise in den höheren physischen Speicherbereichen liegen.

Virtuell ist der Speicher innerhalb deines Programmes zwar fest, aber physisch können einzelne "virtuelle" Speicherbereiche sonstwo im System abgelegt und verschoben werden.
(RAM + Auslagerungsdatei)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

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

Re: Zu wenig Arbeitsspeicher

  Alt 27. Jan 2010, 15:18
Zitat von Ines:
Mir wurde gesagt, daß mein Programm nicht den Speicherbereich zwischen 2 und 3 GB nutzen kann und ich deshalb die 3GB-Option setzen muß.
Würde ich als letzten Notnagel für Hotfixes aufheben wenn ein Fehlerbeheben in der Implementierung/Design nicht so schnell möglich ist.

Ansonsten: {$SetPeFlags $20} im der DPR setzen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Zu wenig Arbeitsspeicher

  Alt 27. Jan 2010, 15:47
Zitat von Bernhard Geyer:
Würde ich als letzten Notnagel für Hotfixes aufheben wenn ein Fehlerbeheben in der Implementierung/Design nicht so schnell möglich ist.
Wie gesagt, wenn dem System der physische Speicher ausgeht, dann ändert dieses nichts
und wenn das Programm eh nicht soviel Speicher vergraicht, dann ist es auch garnicht nötig.


@Ines: Laß dir von deinem Kollegen mal sagen, wieviel Speicher diese Programme belegen (laut Taskmanager), wenn es wieder zu dieser Fehlermeldung kommt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.685 Beiträge
 
Delphi 2007 Enterprise
 
#10

Re: Zu wenig Arbeitsspeicher

  Alt 27. Jan 2010, 15:47
Wenn dein Programm unter 2GB bleibt, dann hilft dir die >2GB Option überhaupt nicht weiter. Aus Sicht deines Programmes ist der Speicher immer an der selben Stelle, und wird immer ab der selben Adresse benutzt. Wo Windows das tatsächlich im RAM physikalisch hinterlegt ist für dich (dein Programm) völlig unerheblich.
Nur, und nur dann wenn dein eigenes Programm mehr als 2GB selbst belegen muss kann diese Option weiter helfen, weil dann auch virtuell mehr als ursprünglich vorgesehen adressiert werden muss. Wenn es aber um die Summe der laufenden Applikationen geht, tut das rein garnüscht.

Dieses out of memory kenne ich übrigens auch noch im Zusammenhang mit GDI-Ressourcen, die unabhähngig vom Speicherausbau auch nur begrenzt vom OS bereit gestellt werden. (Oder hieß es dann wirklich "out of ressources? Egal, go Tritt das Problem also irgendwo auf, wo du was zeichnest, ein Bitmap erstellst, eine Region oder irgend etwas in diese Richtung, dann kann auch dort der Hund begraben liegen. Aber auch hier gibt's ein ähnliches Problem: Wenn ein Fremdprogramm verschwenderisch mit GDI Objekten umgeht, kannst du selber da herzlich wenig dran machen. Dein eigenes Programm sollte nur darauf achten, wenn überhaupt von Hand mit GDI Objekten gearbeitet wird, diese peinlichst zuverlässig wieder frei zu geben - und zwar wirklich sobald sie nicht mehr, bzw. für längere Zeit nicht gebraucht werden.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  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 06:02 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